定義格式
函數構成代碼執行的邏輯結構。在Go語言中,函數的基本組成為:關鍵字func、函數名、參數列表、返回值、函數體和返回語句。
Go語言函數定義格式如下:
funcFuncName(/*參數列表*/)(o1type1,o2type2/*返回類型*/){
//函數體、
returnv1,v2//返回多個值
}
函數定義說明:
func:函數由關鍵字func開始聲明
FuncName:函數名稱,根據約定,函數名首字母小寫即為private,大寫即為public
參數列表:函數可以有0個或多個參數,參數格式為:變量名類型,如果有多個參數通過逗號分隔,不支持默認參數
返回類型:
① 上面返回值什么兩個變量名,當然這不是必須的,可以有類型,沒變量。② 如果只有一個返回值且不聲明返回值變量,那么你可以省略,包括返回值的括號。③ 如果沒有返回值,那么就直接省略最后的返回信息。④ 如果有返回值,那么必須在函數的內部添加return語句
外媒:加密托管公司Protego Trust已解雇大部分員工:金色財經報道,據一位知情人士透露,加密托管公司Protego Trust本周被迫解雇了大部分員工。據悉,該公司一直在尋求獲得新的融資,但一直未能成功。Protego Trust曾于2021年完成7000萬美元A輪融資,Coinbase Ventures、FTX和Digital Currency Group等公司參投。2022年2月,該公司任命OCC前代理審計長Brian Brooks為董事會成員。Protego擁有美國聯邦信托執照。(CoinDesk)[2023/3/2 12:37:41]
函數定義
無參無返回值
funcTest(){//無參無返回值函數定義
fmt.Println("thisisatestfunc")
}
funcmain(){
Test()//無參無返回值函數調用
穆迪報告:針對Mango Markets攻擊者的監管行動利好DeFi領域:2月2日消息,據信用評級公司穆迪(Moody’s)稱,最近對Mango Markets攻擊者Avraham Eisenberg的指控將對DeFi領域產生積極影響。
穆迪投資者服務公司在1月31日的一份報告指出,美國兩大市場監管機構在1月份采取的執法行動意味著DeFi正朝著“更安全、更受歡迎的環境”邁進:“SEC和CFTC都對一名所謂的流氓交易員操縱市場采取了行動,這對整個行業來說是一個積極的信用信號。”
報告表示,這些行動可以“改善對DeFi行業的監管”。由于對開源協議的管轄權缺乏透明度,DeFi行業在很大程度上是一個難以監管的領域。
此前消息,Mango Labs LLC在曼哈頓起訴交易員Avraham Eisenberg,該交易員去年10月通過非法操縱Mango Markets治理代幣MNGO的價格,在20分鐘內獲利1.14億美元,之后CFTC和SEC均對其提起訴訟。(Cointelegraph)[2023/2/2 11:42:59]
}
專注于比特幣的新風投公司Ego Death Capital正在為首只基金籌集3000萬美元:金色財經報道,根據提交給美國證券交易委員會(SEC)的監管文件,致力于比特幣生態系統的新風險投資公司Ego Death Capital正在為其第一只基金籌集3000萬美元。文件顯示,Ego Death Capital LP于9月2日開始募資,截至9月15日,已從28名投資者那里籌集了11,425,000美元。
Ego Death合伙人Nico Lechuga表示,一旦籌集到所有資金,該基金計劃投資12至15家公司,平均支票規模為100萬至150萬美元。Lechuga調了比特幣在新興市場的重要性,尤其是那些沒有銀行賬戶的人群,因此需要不斷擴大比特幣生態系統。他說,“我們非常關注我們所說的第3層(應用層)和某種第2.5層,即基礎設施”。[2022/10/19 17:31:28]
有參無返回值
普通參數列表
funcTest01(v1int,v2int){//方式1
Celer與Rango Exchange合作,集成cBridge以進一步提高區塊鏈互操作性:12月24日消息,Layer2擴容平臺CelerNetwork宣布與多鏈DEX聚合器RangoExchange達成合作,在RangoExchange上成功集成cBridgeSDK。通過此次合作,雙方將共同致力于為RangoExchange用戶提供無縫高效的跨鏈操作體驗,進一步提高RangoExchange的區塊鏈互操作性。
cBridge是一個支持高速低成本的跨鏈支付網絡。用戶可以通過該網絡在任何以太坊Layer2、以太坊主網及其他的Layer1或Layer2網絡之內或之間進行完全非托管、高速低成本的價值轉移。
RangoExchange是先進的多鏈DEX聚合器,支持BTC、ETH、BSC、Polygon、Terra等資產的多合一交易。它通過直觀的UX界面,將多個聚合器與多個X-Chain解決方案集成在一起,在安全且易于使用的解決方案中提供最佳流動性和優化路徑。[2021/12/24 8:02:28]
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
動態 | Algorand提醒Algo Staking獎勵活動參與者在2020年2月10日前完成KYC認證:Algorand 發布公告提醒參與 Algo Staking 獎勵活動的用戶盡快在 2020 年 2 月 10 日前完成 KYC 認證,以獲得資格接收 2 億 Algo Staking 獎勵計劃。2019 年 10 月,Algorand 曾發布公告將 2 億 Algo Staking 獎勵活動已有資格參與者的 KYC 時間從 2019 年 10 月 10 日延長至 2020 年 2 月 10 日(第一期獎勵釋放前),以給參與者更充裕的時間來完成這一過程。此前鏈聞曾報道,Algorand 基金會拿出 2 億 ALGO 獎勵給支持 Algorand 的長期支持者,但獲得該獎勵必須按照 Algorand 基金會規定在 Coinlist 上進行 KYC。[2020/1/10]
}
funcTest02(v1,v2int){//方式2,v1,v2都是int類型
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
}
funcmain(){
Test01(10,20)//函數調用
Test02(11,22)//函數調用
}
不定參數類型
不定參數是指函數傳入的參數個數為不定數量。為了做到這點,首先需要將函數定義為接受不定參數類型:
//形如...type格式的類型只能作為函數的參數類型存在,并且必須是最后一個參數funcTest(args...int){
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)
}
}
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
}
Multichain是一種跨鏈協議,以前稱為Anyswap,它承諾在“不可抗力”事件導致某些跨鏈路由不可用后對受影響的用戶進行補償.
1900/1/1 0:00:00社交情報平臺LunarCrush發布了一份最流行的加密貨幣列表。其中,瑞波幣和KaspaCurrency的原生代幣KAS備受關注.
1900/1/1 0:00:005月份全國各省的政策要點 中央: 中銀協等三機構聯合發文明確金融機構、支付機構不得開展與虛擬貨幣相關的業務 01 5月18日消息.
1900/1/1 0:00:00一位沉寂了大約8年的以太坊ICO參與者最近開始活躍起來。根據智能貨幣追蹤平臺LookChain的說法,他將所有8000個ETH代幣轉移到了一個新地址。他們的總價值為1470萬美元.
1900/1/1 0:00:00礦工挖礦 礦工的工作是交易確認和數據打包,礦工需要計算設備和挖礦軟件,保證礦機的電力和鏈接就好.
1900/1/1 0:00:002023年看漲的PEPE價格預測為0.0000018213美元至0.0000028817美元。Pepe(PEPE)價格可能很快達到0.00001美元.
1900/1/1 0:00:00