界說格局
函數構成代碼履行的邏輯結構。在Go言語中,函數的根本組成為:關鍵字func、函數名、參數列表、回來值、函數體和回來語句。
Go言語函數界說格局如下:
funcFuncName(/*參數列表*/)(o1type1,o2type2/*回來類型*/){
//函數體、
returnv1,v2//回來多個值
}
函數界說說明:
func:函數由關鍵字func開端聲明
funcName:函數名稱,根據約定,函數名首字母小寫即為private,大寫即為public
參數列表:函數可以有0個或多個參數。
回來類型:① 上面回來值什么兩個變量名,當然這不是必須的,可以有類型,沒變量。② 假如只有一個回來值且不聲明回來值變量,那么你可以省略,包含回來值的括號。③ 假如沒有回來值,那么就直接省略最終的回來信息。④ 假如有回來值,那么必須在函數的內部添加return語句函數界說。
可編程保險市場Tidal Finance在Polygon上線主網:可編程保險市場Tidal Finance在二層擴容網絡Polygon上線主網,其初始客戶包括StaFi、XendFinance、Marlin、EasyFi和bZx。Tidal Finance表示將向公開市場推出儲備池挖礦計劃,提供100%的APY以激勵初始流動性提供者,并將使得儲備池中資產達到100萬美元。[2021/7/28 1:19:16]
無參無回來值
funcTest(){//無參無回來值函數界說
fmt.Println("thisisatestfunc")
}
funcmain(){
Test()//無參無回來值函數調用
DAFI Protocol宣布已開始開放DAFI橋,以將ERC-20 DAFI轉移至Polygon和BSC:官方消息,鏈上激勵協議DAFI Protocol表示,已經開始開發其DAFI橋,以將ERC-20 DAFI轉移至Polygon和BSC。這項服務將提供給合作伙伴網絡,進一步擴展 DAFI 的實用性。
此前消息,鏈上激勵協議DAFI Protocol表示,受“跨鏈資產橋ChainSwap遭到攻擊”影響,價值20萬美元的DAFI被出售。[2021/7/14 0:51:31]
}
有參無回來值
一般參數列表
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)
Anchorage宣布將支持Celo原生代幣Celo Gold的儲存和質押:Libra協會創始成員Anchorage宣布將支持“Libra競爭對手”Celo的原生代幣Celo Gold的儲存和質押。Anchorage聯合創始人兼總裁Diogo Monica表示:“Anchorage正是為Celo這樣的區塊鏈而建的,這些區塊鏈需要積極的鏈上治理。”(The Block)[2020/4/16]
}
funcmain(){
Test01(10,20)//函數調用
Test02(11,22)//函數調用
}
不定參數列表
不定參數類型
不定參數是指函數傳入的參數個數為不定數量。為了做到這點,首先需要將函數界說為接受不定參數類型:
//形如...type格局的類型只能作為函數的參數類型存在,而且必須是最終一個參數funcTest(args...int){
公告 | 火幣全球站現已暫停ALGO充提業務:據官方公告,由于ALGO主網升級,火幣全球站現已暫停ALGO的充幣和提幣業務。[2019/11/21]
for_,n:=rangeargs{//遍歷參數列表
fmt.Println(n)
}
}
funcmain(){
//函數調用,可傳0到多個參數
Test()
Test(1)
Test(1,2,3,4)
}
不定參數的傳遞
funcMyFunc01(args...int){
fmt.Println("MyFunc01")
for_,n:=rangeargs{//遍歷參數列表
fmt.Println(n)
}
聲音 | Algorand創始人:區塊鏈不可能三角已可解決,Algorand 擁有兩大核心優勢:據Algorand Official消息,Algorand創始人Silvio Micali教授近日表示,區塊鏈的三難困境意味著組成區塊鏈的三個要素,安全性,可擴展性和去中心化不能同時實現。但是Algorand通過純權益證明共識算法解決了這個難題。Algorand的另一個優勢是它對原子交換的支持。原子交換是指基于不同區塊鏈的加密貨幣交換。現有的原子交換是通過哈希時間鎖定技術進行的,該技術可設置時間并在當時未更改加密貨幣的情況下取消交易。Algorand區塊鏈證明資產存在于不同的區塊鏈中,可以直接交易。[2019/10/2]
}
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
}
波卡生態概念板塊今日平均跌幅為1.20%:金色財經行情顯示,波卡生態概念板塊今日平均跌幅為1.20%.
1900/1/1 0:00:00億萬富翁投資者蒂姆德雷珀表示,比特幣(BTC)可以成為企業對沖任何潛在銀行業危機的工具。消息人士:億萬富翁Steve Cohen聘請黑客“AcidPhreak”為其加密初創公司首位交易員:金色財.
1900/1/1 0:00:00在以太坊系統中,狀態是由被稱為“賬戶”的對象和在兩個賬戶之間轉移價值和信息的狀態轉換構成的。以太坊的賬戶包含四個部分:隨機數,用于確定每筆交易只能被處理一次的計數器賬戶目前的以太幣余額賬戶的合約.
1900/1/1 0:00:002022年以來,全球經濟增長放緩,美國等國家通脹高位運行,地緣沖突持續,新冠疫情仍然在世界多地肆掠.
1900/1/1 0:00:00傳奇投資者凱文·奧利里(KevinO’Leary)就另一種貨幣可能升值并超越國際貿易和金融領域無可爭議的最大美元來打破其主導地位的擔憂發表了引人注目的聲明.
1900/1/1 0:00:00加密貨幣交易所火必在昨日宣布上線由DebtDAO代表FTX債權人發行的債權代幣FUD,現貨交易在昨晚8時已開放。究竟什么是FUD?背后是否潛藏風險?下文整理讀者最關切的問題.
1900/1/1 0:00:00