界说格局
函数构成代码履行的逻辑结构。在Go言语中,函数的根本组成为:关键字func、函数名、参数列表、回来值、函数体和回来语句。
Go言语函数界说格局如下:
funcFuncName(/*参数列表*/)(o1type1,o2type2/*回来类型*/){
//函数体、
returnv1,v2//回来多个值
}
函数界说说明:
func:函数由关键字func开端声明
funcName:函数名称,根据约定,函数名首字母小写即为private,大写即为public
参数列表:函数可以有0个或多个参数。
回来类型:① 上面回来值什么两个变量名,当然这不是必须的,可以有类型,没变量。② 假如只有一个回来值且不声明回来值变量,那么你可以省略,包含回来值的括号。③ 假如没有回来值,那么就直接省略最终的回来信息。④ 假如有回来值,那么必须在函数的内部添加return语句函数界说。
Mt. Gox债权人可在索赔系统选择还款方式并登记收款人信息:10月7日消息,Mt. Gox修复计划索赔系统发布一项新功能,允许债权人选择还款方式,并在线上索赔申报系统上登记收款人信息,截止日期为2023年1月10日。(Beincrypto)[2022/10/7 18:41:48]
无参无回来值
funcTest(){//无参无回来值函数界说
fmt.Println("thisisatestfunc")
}
funcmain(){
Test()//无参无回来值函数调用
}
有参无回来值
一般参数列表
funcTest01(v1int,v2int){//方法1
Polygon 前东南亚区负责人 Charlie 加入 Syscoin 任顾问:2月11日消息,前Polygon东南亚区负责人Charlie Hu加入Syscoin。fxempire新闻稿称,Charlie 将成为Syscoin向未开发市场扩张的关键人物,其将担任这方面的专家顾问。
Charlie 因其在区块链行业的经验以及他在WEB3.0和去中心化应用(dApps)方面的知识经验而闻名。在Polygon工作期间,Charlie 负责推动Polygon生态系统的发展、业务增长。
Charlie 表示,“不得不提到Syscoin的巨大上升潜力,不能低估这个项目通过解决问题为整个空间提供价值的能力,这将让底层技术得到真正大规模采用。这并不是财务建议,但像Syscoin这样的项目仍然被低估,能加入他们的团队感到非常荣幸。”
据悉,Syscoin,起步于2014年,其开发目的是将比特币和以太坊的优势发挥出来,以便为其用户提供一个安全可靠的网络,其借助ZK-Rollups,进一步增加了其扩展网络能力。[2022/2/11 9:45:07]
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
管交所BGOEX将于7月27日上线CNTM:官方消息,管交所BGOEX即将上线CNTM,北京时间7月27日12:00开放充提,15:00正式开放交易,交易对CNTM/BTC。
Connectome首创并专注于开发 VHA--人类与人工智能(AI)交互解决方案,通过区块链技术建立一个可以链接VHA用户、VHA企业、VHA应用的智脑多元生态,以CNTM Network,C-VHA智脑平台、去中心化VHA市场、CNTM开放智能云四大核心模块打破数据垄断,让每个人都可以参与创新与贡献数据与VHA,让AI服务商与应用方高效协同达成合作,从而打造一个VHA多元生态,推动人工智能的高速发展。[2020/7/25]
}
funcTest02(v1,v2int){//方法2,v1,v2都是int类型
fmt.Printf("v1=%d,v2=%d\n",v1,v2)
}
funcmain(){
动态 | 矿企Argo Blockchain董事会授予1140万股普通股期权作为激励手段:金色财经报道,伦交所上市挖矿公司Argo Blockchain(LSE:ARB)宣布,董事会已授予该公司1140万股普通股期权。这些期权已授予公司管理层、执行董事和董事会成员,作为长期激励。这些期权的定价为每股普通股0.07英镑,自授予之日起3个月后,将在未来21个月以等量的月度份额开始授予,可在2030年2月4日或之前执行。[2020/2/5]
Test01(10,20)//函数调用
Test02(11,22)//函数调用
}
不定参数列表
不定参数类型
不定参数是指函数传入的参数个数为不定数量。为了做到这点,首先需要将函数界说为接受不定参数类型:
//形如...type格局的类型只能作为函数的参数类型存在,而且必须是最终一个参数funcTest(args...int){
动态 | HIVE Blockchain与Argo Blockchain达成合作关系:据newswire报道,HIVE Blockchain宣布与Argo Blockchain已经签署了一份无约束力的意向书,达成股权交换协议,探讨拟议的战略合作伙伴关系,以创建面向大型企业和机构客户的采矿服务提供商。拟议的战略伙伴关系将使所有矿工能够从两个集团现有采矿能力的组合中受益。[2019/5/13]
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
}
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。