定義格式
函數構成代碼執行的邏輯結構。在Go語言中,函數的基本組成為:關鍵字func、函數名、參數列表、返回值、函數體和返回語句。
Go語言函數定義格式如下:
funcFuncName(/*參數列表*/)(o1type1,o2type2/*返回類型*/){
//函數體、
returnv1,v2//返回多個值
}
函數定義說明:
func:函數由關鍵字func開始聲明
FuncName:函數名稱,根據約定,函數名首字母小寫即為private,大寫即為public
參數列表:函數可以有0個或多個參數,參數格式為:變量名類型,如果有多個參數通過逗號分隔,不支持默認參數
返回類型:
① 上面返回值什么兩個變量名,當然這不是必須的,可以有類型,沒變量。② 如果只有一個返回值且不聲明返回值變量,那么你可以省略,包括返回值的括號。③ 如果沒有返回值,那么就直接省略最后的返回信息。④ 如果有返回值,那么必須在函數的內部添加return語句
Ergo DEX上線ERG/LunaDog池和ERG/Erdoge池:據官方消息,ErgoDEX宣布推出ERG/LunaDog池和ERG/Erdoge池,這些交易對是通過社區投票選出的。LunaDog 和 Erdoge是 Ergo 網絡中首批在ErgoDEX 上上線的社區代幣。[2021/12/2 12:47:01]
函數定義
無參無返回值
funcTest(){//無參無返回值函數定義
fmt.Println("thisisatestfunc")
}
funcmain(){
Test()//無參無返回值函數調用
}
有參無返回值
普通參數列表
funcTest01(v1int,v2int){//方式1
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
Argo Blockchain上月開采166枚BTC,總持有量超1000 枚:加密礦企Argo Blockchain周四表示,上個月該公司開采了166枚比特幣,總持有量超過1000枚。由于比特幣的價值大幅下跌,該公司采礦收入也降至780萬美元,比上月減少了16%。Argo Blockchain還宣布與德州風能傳輸公司(WETT)和美國電力公司(AEP)簽署電網互聯協議,為該公司德克薩斯州的采礦設施提供200兆瓦的電力。[2021/6/4 23:09:43]
}
funcTest02(v1,v2int){//方式2,v1,v2都是int類型
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
}
funcmain(){
Test01(10,20)//函數調用
Test02(11,22)//函數調用
}
達鴻飛: Neo推出Flamingo 開啟DeFi下一局:8月27日,Neo Golbal Development孵化的全新DeFi生態項目Flamingo已啟動,預計將在九月中旬正式上線。目前Neo在DeFi方向上已實現資產和流動性的基礎布局,本次啟動的Flamingo(flamingo.finance)是一個集成資產跨鏈、AMM、合成穩定幣、合約交易及質押獎勵的綜合性DeFi協議 。
Flamingo是DeFi領域實現多鏈資產跨鏈的協議,初期支持BTC, ETH和穩定幣等主流資產;Flamingo在產品和機制上的設計優化可使投資人資金利用率相比目前DeFi協議提高400%;項目通證FLAM遵循100%基于貢獻分配,無私募,無預挖,無團隊分配。Neo是一個社區驅動的開放生態,歡迎社區參與者共同建設。[2020/8/27]
不定參數類型
不定參數是指函數傳入的參數個數為不定數量。為了做到這點,首先需要將函數定義為接受不定參數類型:
金色財經現場報道 Energo Labs首席運營官楊凱凱:區塊鏈加速清潔能源普及:金色財經6月12日現場報道,在2018PPP全球數字資產投資峰會《能源區塊鏈領袖委員會圓桌會議》圓桌論壇上,Energo Labs首席運營官楊凱凱提到,區塊鏈能加速清潔能源行業發展,把物理世界與分布化技術相結合,將分布式的儲能共享平臺帶到東南亞等電力不普及的地方。從能源行業看,創業公司的落地更快更靈活,能讓行業先行看到區塊鏈等優勢,帶動區塊鏈在能源行業的發展。[2018/6/12]
//形如...type格式的類型只能作為函數的參數類型存在,并且必須是最后一個參數funcTest(args...int){
for_,n:=rangeargs{//遍歷參數列表
fmt.Println(n)
}
}
funcmain(){
//函數調用,可傳0到多個參數
金色財經現場報道 ZatGo 承云陳磊:出行領域需要構建相的可持續發展的生態:金色財經現場報道,在今天舉辦的2018金融科技上海峰會暨區塊鏈世界論壇上,ZatGo 承云陳磊在演講中說,“當前,大出行領域面臨資金賬期帶來的資金鏈風險、賬務清算能力的高成本、行業征信的良莠不齊等行業痛點,我們應該努力連接行業上下游,構建一個相互協作、合作共贏的可持續發展的生態。一種選擇是社區中的角色可以分為共識節點、普通節點和生態用戶,共識節點為社區提供算力,保證數據的一致性,在社區公示節點運行信息,節點維護者將接受社區用戶的評分,共識節點可由任何實名企業或機構來申請,經過審核授權并實名認證的企業或機構將可創建并維護共識節點。”[2018/4/19]
Test()
Test(1)
Test(1,2,3,4)
}
不定參數的傳遞
funcMyFunc01(args...int){
fmt.Println("MyFunc01")
for_,n:=rangeargs{//遍歷參數列表
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
}
根據法庭文件,FTX沒有阻止公司在巴哈馬的開支。 法庭文件顯示,FTX的巴哈馬公司在交易所倒閉前僅九個月就在豪華酒店和住宿、航班和食品上花費了驚人的數額.
1900/1/1 0:00:00無可否認,卡爾達諾已經發展成為一個成熟的網絡,市值達到100億美元,擁有超過400萬個非零地址.
1900/1/1 0:00:00UniswapV3已經超越了以太坊,進入了利用optimisticroll-ups和側鏈等擴展技術的第二層網絡.
1900/1/1 0:00:00簡單來說 在12月27日的采訪中,Changpeng''CZ''Zhao回答了幾個問題,涉及他對FTX崩潰的看法以及客戶資金在Binance上是否安全.
1900/1/1 0:00:00Billions項目組11月25日,領先的加密貨幣比特幣未能突破16,800美元的水平,并開始跌向38.2%的斐波那契回撤位.
1900/1/1 0:00:00在過去的幾周里,以太坊在比特幣的潮流中比年初表現得更好。以太坊價格在2023年的前幾周對比特幣下跌,并在春季再次與比特幣保持同步。隨著上海更新,最近向以太坊2.0邁出了更重要的一步.
1900/1/1 0:00:00