FUN:Go 语言函数定义

定义格式

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

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

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

//函数体、

returnv1,v2//返回多个值

}

函数定义说明:

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

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

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

返回类型:

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

金融科技公司Mogo Finance Technology上涨11.40%:10月26日消息,美股盘初,金融科技公司Mogo Finance Technology(MOGO.US)走高。截至北京时间21:37,该股上涨11.40%,报5.860美元/股。消息面上,公司将推出全球首个气候积极型比特币。[2021/10/26 20:59:37]

函数定义

无参无返回值

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

fmt.Println("thisisatestfunc")

}

funcmain(){

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

}

有参无返回值

普通参数列表

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

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

加密矿企Argo Blockchain 4月产出163枚BTC,收入达670万英镑:加密矿企Argo Blockchain PLC(LON:ARB)报告称,由于该公司继续进行比特币挖矿,利润率略有扩大,4月份的收入有所增加。具体而言,4月份的收入为670万英镑,高于3月份的657万英镑,平均每月利润率约85%。一个月的产出量为163枚比特币,而3月份为165枚。

截至4月底,该公司表示持有936枚(或等值)比特币。(Proactive Investors)[2021/5/4 21:22:41]

}

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

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

}

funcmain(){

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

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

ERGO 核心开发员:ERGO硬分叉全新升级 人人挖矿新时代到来:2月22日晚,由Gate.io主办的直播专访节目《酒局币赴》邀请到ERGO 核心开发员 Alexander Chepurnoy直播分享近期最新发展。直播期间Alexander与Gate.io合伙人酒儿就此次ERGO硬分叉及其相关事项进行了探讨与交流。Alexander表示,在北京时间2021年2月2日晚上11点44分,ERGO公链在区块高度417792完成主网首次硬分叉升级。

此次ERGO硬分叉升级内容包括从Ergo当前的PoW共识机制Autolykos升级为新版PoW共识机制Autolykos v2.0,Autolykos v2.0有望长期生存下去,升级后将关闭不可外包功能(Non-outsourceability),允许矿池存在,方便普通人加入矿池挖矿;改进内存困难功能,消除旧版PoW机制Autolykos存在的内存困难漏洞,Autolykos v2.0拥有更好的内存困难功能;支持花费软分叉跟踪等等。ERGO硬分叉升级也标志着人人挖矿的新时代正式到来。[2021/2/22 17:40:35]

}

声音 | 加密货币钱包ZenGo CEO :网页加密货币钱包Safuwallet被黑:加密货币钱包ZenGo CEO Ouriel Ohayon推特爆料,网页加密货币钱包Safuwallet被黑客通过注入恶意代码窃取了大量资金,同时@赵长鹏称,你可能需要看看这个,因为它特别以币安命名。在谷歌商店里,Safuwallet简介为,“安装在Binance chain平台上的电子钱包”,目前已经从谷歌商店下架。[2019/10/11]

不定参数类型

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

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

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

fmt.Println(n)

}

动态 | 伦交所上市挖矿公司Argo Blockchain早于预期完成矿机成本回收:伦交所上市挖矿公司Argo Blockchain周三表示5月初投产的1000台比特币大陆Z11蚂蚁矿机已实现了100%的成本回收,成本回收实现时间较预期缩短了一半以上。 Argo表示,基于目前的采矿利润率,该公司还“大大提前”收回了5月和6月投产的2267台S17蚂蚁矿机的成本。Argo执行董事长Mike Edwards表示,他相信 该公司的扩张战略将“继续获得长期回报”。(Proactive Investor)[2019/8/28]

}

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

}

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

金星链

酷币下载MULTI:在区块链中,详细解析多重签名

大家好,这里是链客区块链技术问答社区。链客,专为技术开发者而生,有问必答! 多重签名 多重签名脚本设置了一个条件,N个公钥记录在脚本中,并且需要其中至少M个提供签名才能解锁资金.

UNISEC:为什么 XRP 今天飙升超过 8%?

目前,加密市场中的大部分资产都在横盘整理,比特币重新回到26,000美元的区间。尽管如此,金币还是实现了温和反弹。在这段整合时期,有一种特定的加密货币通过捕获所有收益而脱颖而出.

[0:15ms0-0:475ms