界說格局
函數構成代碼履行的邏輯結構。在Go言語中,函數的根本組成為:關鍵字func、函數名、參數列表、回來值、函數體和回來語句。
Go言語函數界說格局如下:
funcFuncName(/*參數列表*/)(o1type1,o2type2/*回來類型*/){
//函數體、
returnv1,v2//回來多個值
}
函數界說說明:
func:函數由關鍵字func開端聲明
funcName:函數名稱,根據約定,函數名首字母小寫即為private,大寫即為public
參數列表:函數可以有0個或多個參數。
回來類型:① 上面回來值什么兩個變量名,當然這不是必須的,可以有類型,沒變量。② 假如只有一個回來值且不聲明回來值變量,那么你可以省略,包含回來值的括號。③ 假如沒有回來值,那么就直接省略最終的回來信息。④ 假如有回來值,那么必須在函數的內部添加return語句函數界說。
Polygon與SK Telecom合作改進dApp并降低費用:金色財經報道,區塊鏈網絡Polygon已與韓國SK Telecom建立戰略合作伙伴關系。該交易將使Polygon的網絡集成到SK Telecom的區塊鏈平臺中,使其更有能力處理dApp,并提供更快的交易時間和更低的費用。此次合作還將為企業和開發人員使用Polygon的高性能網絡構建創新解決方案創造新的機會。此次合作進一步鞏固了Polygon作為領先區塊鏈平臺的地位,為未來令人興奮的新應用鋪平了道路。[2023/8/17 18:06:08]
無參無回來值
funcTest(){//無參無回來值函數界說
fmt.Println("thisisatestfunc")
}
funcmain(){
加密錢包Yamgo支持通過Ledger硬件錢包在Hedera上進行質押:金色財經報道,基于Hedera的加密貨幣錢包和獎勵應用程序Yamgo今天宣布對其Web應用程序進行重大更新,使用戶能夠使用Ledger硬件錢包參與Hedera原生質押。
新的質押功能允許用戶通過在Ledger硬件錢包中持有HBAR來獲得獎勵,在此過程中支持Hedera網絡。(PR Web)[2023/2/7 11:52:34]
Test()//無參無回來值函數調用
}
有參無回來值
一般參數列表
funcTest01(v1int,v2int){//方法1
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
}
funcTest02(v1,v2int){//方法2,v1,v2都是int類型
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
Chair Finance已上線Polygon:去中心化的NFT權益交易平臺Chair_Finance已上線Polygon,Polygon將授權Chair作為其戰略合作伙伴,并以更低的gas費用為Chair NFT用戶提供更靈活、更安全的交易環境。[2021/8/6 1:39:33]
}
funcmain(){
Test01(10,20)//函數調用
Test02(11,22)//函數調用
}
不定參數列表
不定參數類型
不定參數是指函數傳入的參數個數為不定數量。為了做到這點,首先需要將函數界說為接受不定參數類型:
//形如...type格局的類型只能作為函數的參數類型存在,而且必須是最終一個參數funcTest(args...int){
for_,n:=rangeargs{//遍歷參數列表
Chainlink及SushiSwap高管加入非營利性組織GoodFi:Chainlink、Aave、Sushiswap以及其他幾個加密項目的22位開發人員和高管加入了由分布式分類帳網絡Radix創建的非營利組織GoodFi。這家非營利組織希望在2025年之前將1億人帶入到DeFi領域。(cryptoslate)[2021/5/14 22:00:27]
fmt.Println(n)
}
}
funcmain(){
//函數調用,可傳0到多個參數
Test()
Test(1)
Test(1,2,3,4)
}
不定參數的傳遞
funcMyFunc01(args...int){
fmt.Println("MyFunc01")
for_,n:=rangeargs{//遍歷參數列表
聲音 | ETCDEV創始人Igor Artamonov:ETC計劃在ETH升級后的數周內進行硬分叉:金色財經獨家專訪,在提到對于以太坊君士坦丁堡升級時,前ETCDEV創始人Igor Artamonov回應說,ETC也在尋求協議上一些與ETH智能合約兼容的改變。但改變僅僅限于重要的兼容性改變,并且之前也有計劃在ETH升級之后的數周內進行硬分叉。[2019/1/10]
fmt.Println(n)
}
}
funcMyFunc02(args...int){
fmt.Println("MyFunc02")
for_,n:=rangeargs{//遍歷參數列表
fmt.Println(n)
}
}
funcTest(args...int){
MyFunc01(args...)//按原樣傳遞,Test()的參數原封不動傳遞給MyFunc01
MyFunc02(args...)//Test()參數列表中,第1個參數及今后的參數傳遞給MyFunc02
}
funcmain(){
Test(1,2,3)//函數調用
}
無參有回來值
有回來值的函數,必須有清晰的終止語句,否則會引發編譯過錯。
一個回來值
funcTest01()int{//方法1
return250
}
//官方主張:最好命名回來值,由于不命名回來值,雖然使得代碼愈加簡練了,可是會造成生成的文檔可讀性差
funcTest02()(valueint){//方法2,給回來值命名
value=250
returnvalue
}
funcTest03()(valueint){//方法3,給回來值命名
value=250
return
}
funcmain(){
v1:=Test01()//函數調用
v2:=Test02()//函數調用
v3:=Test03()//函數調用
fmt.Printf("v1=%d,v2=%d,v3=%d\n",v1,v2,v3)
}
多個回來值
funcTest01()(int,string){//方法1
return250,"sb"
}
funcTest02()(aint,strstring){//方法2,給回來值命名
a=250
str="sb"
return
}
funcmain(){
v1,v2:=Test01()//函數調用
_,v3:=Test02()//函數調用,第一個回來值丟掉
v4,_:=Test02()//函數調用,第二個回來值丟掉
fmt.Printf("v1=%d,v2=%s,v3=%s,v4=%d\n",v1,v2,v3,v4)
}
有參有回來值
//求2個數的最小值和最大值
funcMinAndMax(num1int,num2int)(minint,maxint){
ifnum1>num2{//假如num1大于num2
min=num2
max=num1
}else{
max=num2
min=num1
}
return
}
funcmain(){
min,max:=MinAndMax(33,22)
fmt.Printf("min=%d,max=%d\n",min,max)//min=22,max=33
}
昨天幣圈涼兮在Twitter開啟了他的space首秀,一開始只是和圈內好友吹牛聊天,也沒有特定主題。大部分玩家對這個19歲小伙個人經歷挺感興趣,據說他去年519一天賺了上千萬.
1900/1/1 0:00:00加密貨幣之王在9月24日的周末損失了3%。因此,它正在接近6月18日的低點。在日線圖上,我們似乎處于比特幣的增持階段。通過在H1中形成對稱三角形來翻譯什么.
1900/1/1 0:00:00StarkNet已在以太坊主網上部署了其STRK代幣。StarkNet基金會將決定如何分配不會通過銷售提供的代幣.
1900/1/1 0:00:00近期SHIB價格窄幅震蕩。SHIB擁有者數量下降至120萬左右。柴犬價格在過去幾天保持穩定,很好地反映了加密市場的整體情況。SHIB目前的交易價格約為0.0000093美元.
1900/1/1 0:00:00作為一個媒體行業從業者,我個人深刻感受到現在正處于媒體行業一種變革的前夕,區塊鏈技術及其去中心化的性質為用戶提供了一種更加身臨其境的方式來參與他們所消費的內容.
1900/1/1 0:00:00由于比特幣(BTC)等主要資產面臨新的阻力水平,最近的加密貨幣市場反彈在一定程度上受到美國銀行業混亂的推動。與此同時,對有望引發上漲勢頭的新發展的信心似乎有所下跌.
1900/1/1 0:00:00