界说格局
函数构成代码履行的逻辑结构。在Go言语中,函数的根本组成为:关键字func、函数名、参数列表、回来值、函数体和回来语句。
Go言语函数界说格局如下:
funcFuncName(/*参数列表*/)(o1type1,o2type2/*回来类型*/){
//函数体、
returnv1,v2//回来多个值
}
函数界说说明:
func:函数由关键字func开端声明
funcName:函数名称,根据约定,函数名首字母小写即为private,大写即为public
参数列表:函数可以有0个或多个参数。
回来类型:① 上面回来值什么两个变量名,当然这不是必须的,可以有类型,没变量。② 假如只有一个回来值且不声明回来值变量,那么你可以省略,包含回来值的括号。③ 假如没有回来值,那么就直接省略最终的回来信息。④ 假如有回来值,那么必须在函数的内部添加return语句函数界说。
10KTF发布Nakamigos #7012配图推文,其售价现已翻倍:金色财经报道,10KTF在社交媒体上发布了一张Nakamigos #7012的配图推文,之后该NFT在OpenSea上的售价已从昨日0.569 ETH飙升至1.23 WETH,涨幅超过116%。此外,Nakamigos NFT系列地板价和交易量也出现上涨,地板价已升至0.8 ETH,上涨50.85%,过去24小时交易量达到2150 ETH。[2023/4/8 13:51:06]
无参无回来值
funcTest(){//无参无回来值函数界说
fmt.Println("thisisatestfunc")
}
funcmain(){
Test()//无参无回来值函数调用
Mango攻击者Avraham Eisenberg在波多黎各被捕:金色财经报道,Mango攻击者Avraham Eisenberg已在波多黎各被捕,他曾用“高利润交易策略”耗尽了DeFi交易平台Mango Markets价值1.1亿美元的加密货币。据FBI特别探员Brandon Racz签署的一份证词称,Avraham Eisenberg“故意且有意地”操纵商品(即Mango Markets期货合约)销售。
另据周二公开的一份文件显示,Avraham Eisenberg将面临商品欺诈和商品操纵的指控,这些指控可能会使其受到罚款或监禁等惩罚,也可能使他成为第一位因操纵去中心化金融(DeFi)交易平台而面临指控的美国居民。[2022/12/28 22:11:39]
}
有参无回来值
一般参数列表
funcTest01(v1int,v2int){//方法1
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
LiquiFi 完成500万美元种子轮融资,Dragonfly Capital Partners领投:金色财经消息,Web3 初创公司LiquiFi 完成500万美元种子轮融资,Dragonfly Capital Partners 领投,Nascent、Alliance DAO、6th Man Ventures、Robot Ventures、Y Combinator 和 Orange DAO 以及加密领域的知名天使投资人,包括 Balaji Srinivasan、Katie Haun、Packy McCormick、Anthony “Pomp” Pompliano 和 Anthony Sassano参投。LiquiFi 计划利用这笔资金投资于产品开发、设计、营销和销售。在增加与其他区块链的兼容性方面,公司计划在短期内从与 EVM 兼容的区块链开始,并最终扩展到其他区块链,如 Solana 和 Terra。(雅虎财经)[2022/4/22 14:40:59]
}
Polygon链上DeFi协议总锁仓量为55.3亿美元:金色财经报道,据DefiLlama数据显示,目前Polygon链上DeFi协议总锁仓量为55.3亿美元,24小时增加2.03%。锁仓资产排名前五分别为AAVE(24.9亿美元)、Quickswap(8.37亿美元)、Curve(3.43亿美元)、SushiSwap(3.39亿美元)、Balancer(2.3亿美元)。[2022/1/16 8:52:01]
funcTest02(v1,v2int){//方法2,v1,v2都是int类型
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
}
funcmain(){
Test01(10,20)//函数调用
Test02(11,22)//函数调用
}
不定参数列表
不定参数类型
动态 | Aragon社区正式宣布反对ProgPOW:据Cointelegraph消息,Aragon社区已正式宣布反对ProgPOW。11月2日,Aragon项目的官方推特帐户发布了投票结果,其阻止以太坊挖矿算法变更的提案已通过,正式反对在2.0版本前更改以太坊的挖矿算法。[2019/11/5]
不定参数是指函数传入的参数个数为不定数量。为了做到这点,首先需要将函数界说为接受不定参数类型:
//形如...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
}
BraveWallet集成了ShibaInu支付,允许用户进行交易。BitPay的协议使SHIB能够无缝集成到BraveWallet的生态系统中.
1900/1/1 0:00:00以太坊的7天总费用出现了自合并以来最显着的飙升,因为ETH下跌了7%。据Glassnode称,以太坊7天支付的总费用已达到112ETH的一个月高位.
1900/1/1 0:00:00为什么去中心化市场很难提高资本效率?随着DeFi市场的发展,协议在管理其资产和支出承诺方面的需求越来越复杂.
1900/1/1 0:00:00柴犬在周末暴跌近25%后,上周经历了一场戏剧性的暴跌。它的价格从0.000007美元的高位跌至0.000005美元的低位,引发了人们对进一步崩盘的担忧.
1900/1/1 0:00:00大家好,这里是链客区块链技术问答社区,今天讲一讲在区块链中,什么技术可以让密码数据泄露事件消失甚至消除! 链客,专为开发者而生! 可以肯定地说,每隔一周,至少会有一次明显的数据泄露事件发生.
1900/1/1 0:00:00来自BabyDoge的可疑推文引起了人们的注意。Binance灵魂绑定Token BAB累计铸造突破39万枚:金色财经报道,据Dune Analytics数据,BNBChain灵魂绑定Token.
1900/1/1 0:00:00