Go 语言函数定义

定义格式

函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。

Go语言函数定义格式如下:

funcFuncName(/*参数列表*/)(o1type1,o2type2/*返回类型*/){

//函数体、

returnv1,v2//返回多个值

}

函数定义说明:

func:函数由关键字func开始声明

FuncName:函数名称,根据约定,函数名首字母小写即为private,大写即为public

参数列表:函数可以有0个或多个参数,参数格式为:变量名类型,如果有多个参数通过逗号分隔,不支持默认参数

返回类型:

① 上面返回值什么两个变量名,当然这不是必须的,可以有类型,没变量。② 如果只有一个返回值且不声明返回值变量,那么你可以省略,包括返回值的括号。③ 如果没有返回值,那么就直接省略最后的返回信息。④ 如果有返回值,那么必须在函数的内部添加return语句

Argo Blockchain第一季度净利润为210万美元,同比下降90%:金色财经报道,Argo Blockchain公布第一季度净利润为160万英镑(210万美元),同比下降90%以上。Argo提到了数字货币公允价值的变化等因素,第一季度比特币的价格在4万美元左右,而去年同期为近6万美元。Argo开采了470个比特币及等值比特币,而去年同期为387个。截至第一季度末,Argo持有2700枚比特币及和比特币等价物。Argo近几周从纽约数字投资集团(NYDIG)子公司借款7060万美元,用于为其位于德克萨斯州的Helios设施购买采矿设备,该设施将以200兆瓦的功率运行,并有可能提高到800兆瓦。(coindesk)[2022/5/18 3:25:11]

函数定义

无参无返回值

funcTest(){//无参无返回值函数定义

fmt.Println("thisisatestfunc")

Argo Blockchain将在纳斯达克发行750万股ADS 预计融资约1亿英镑:9月14日消息,英国上市矿企Argo Blockchain将在纳斯达克发行美国存托股票 (ADS),以目前的市场价格,这将筹集约1亿英镑。该公司在一份声明中表示,将在计划的首次公开募股中出售750万股美国存托股票,每份ADS包括10股Argo普通股(周一收盘价为131便士)。(Proactive Investors)[2021/9/14 23:23:55]

}

funcmain(){

Test()//无参无返回值函数调用

}

有参无返回值

普通参数列表

funcTest01(v1int,v2int){//方式1

fmt.Printf("v1=%d,v2=%d\n",v1,v2)

}

funcTest02(v1,v2int){//方式2,v1,v2都是int类型

Gate.io第六期ALGO PoS挖矿活期理财今日开售:据官方公告,Gate.io “理财宝”PoS理财服务将于1月20日(今日)中午12:00上线《ALGO PoS挖矿活期理财第六期》认购,币年化收益率根据网络产出情况调整。[2021/1/20 16:35:36]

fmt.Printf("v1=%d,v2=%d\n",v1,v2)

}

funcmain(){

Test01(10,20)//函数调用

Test02(11,22)//函数调用

}

不定参数类型

不定参数是指函数传入的参数个数为不定数量。为了做到这点,首先需要将函数定义为接受不定参数类型:

//形如...type格式的类型只能作为函数的参数类型存在,并且必须是最后一个参数funcTest(args...int){

Argo Blockchain 11月平均挖矿利润率为57%,收入涨至148万英镑:英国上市矿企Argo Blockchain报告称,11月份的月平均挖矿利润率为57%,而10月为40%。上个月比特币的价格上涨45%,这对使用加密货币的公司也有好处。Argo Blockchain报告称,该期间的收入有所增加,从120万英镑飙升至148万英镑。

该公司在10月份开采115枚比特币,而10月份是126枚比特币,但这归因于挖矿难度的变化和Zcash减半。年初至今该公司总共开采2369枚BTC。

截至11月30日,该公司持有178枚BTC,价值近350万美元,高于10月31日的137枚BTC。该公司的矿机也从2019年上半年的5000台增加到16000台。Argo Blockchain首席执行官Peter Wall表示,“在Argo,我们继续优先考虑挖矿操作的效率,这使我们这个月的收入增加23%,并实现自今年早些时候减半以来的最高挖矿利润率。”此外,Argo的股价约为11美元,过去两个月上涨147%。(Bitcoin Exchange Guide)[2020/12/7 14:23:44]

for_,n:=rangeargs{//遍历参数列表

公告 | Mango Chain今日上线测试网:据官方团队介绍,Mango Chain测试网已经上线。测试网已经实现了免费转账、百万TPS、抵押锁仓、一键发币、节点投票、智能合约等功能,预计主网也将在6月底上线。

MANGO Chain,它是一个以区块链技术和数字身份来数字化资产,以智能合约对数字资产进行自我管理,以通过分布式网络实现“智能经济”的区块链底层架构。

据介绍,MANGO Chain于2019年3月在印度新德里提出,主创团队由分别来自印度、俄罗斯、德国等地的经济学博士、高级投资专家、技术极客组成。MANGO Chain将提供开放、高效、扩展性强的底层技术支撑,契合金融、物联网、社交等各行业的资产数字化及价值流通需求。MANGO Chain的最终目标是打造一个“共识至上”的链上金融新生态。[2020/1/4]

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

}

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

MANA货币创始人都讲了什么?

《货币:创始人的故事》(由艾美奖10次获奖得主GregKohs执导。该影片和每一个起源故事一样——无论是英雄或反派——从BrianArmstrong的童年开始,讲述他对计算机和万维网的迷恋.

FTXWeb3娱乐帝国,为全行业赋能的生态系统

作为一个媒体行业从业者,我个人深刻感受到现在正处于媒体行业一种变革的前夕,区块链技术及其去中心化的性质为用户提供了一种更加身临其境的方式来参与他们所消费的内容.

[0:15ms0-3:503ms