FUN:GO基础编程语言介绍

界说格局

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

Go言语函数界说格局如下:

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

//函数体、

returnv1,v2//回来多个值

}

函数界说说明:

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

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

参数列表:函数可以有0个或多个参数。

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

Horizen EON将于6月13日进行Gobi测试网升级:6月9日消息,Horizen 发文称,EON 将于 6 月 13 日进行 Gobi 测试网升级,通过更改一些费用参数来提高网络的安全性,对通过正在进行的漏洞赏金计划出现的漏洞实施修复,确保顺利过渡到 EON 主网启动。[2023/6/9 21:26:52]

无参无回来值

funcTest(){//无参无回来值函数界说

fmt.Println("thisisatestfunc")

}

funcmain(){

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

}

有参无回来值

一般参数列表

EMURGO Ventures宣布投资AID:Tech:金色财经报道,Cardano区块链官方商业部门EMURGO的风险投资部门EMURGO Ventures今天宣布投资AID:Tech,以加速其Web3产品和服务的扩展。这笔资金将部分支持 AID:Tech 开发创新的 Web3“志愿者赚钱”钱包和生态系统,利用基于区块链的去中心化标识符 (DID) 和 NFT 为人们创建数字身份解决方案以建立链上声誉合并 Web2 和 Web3。[2022/8/25 12:48:44]

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

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

}

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

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

}

Block.one启动区块链黑客松大赛,开发者可通过EOSIO协议在Google Cloud上开发创新产品:3月9日消息,Block.one 面向开发者启动区块链黑客松大赛Beyond Blockchain Hackathon,邀请开发人员通过EOSIO协议在可扩展的Google Cloud上开发其创新产品。目前线上报名时间现已开始,截止报名时间为4月7日北京时间05:00。[2021/3/9 18:27:57]

funcmain(){

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

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

}

不定参数列表

不定参数类型

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

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

库币将于12月23日18:00上线GOM2:据库币KuCoin交易所消息,库币将于12月23日18:00上线 GoMoney2 (GOM2)项目并支持GOM2/USDT和GOM2/BTC交易服务。GoMoney2 (GOM2)是宠物相关服务综合平台AnimalGo提供的在线或离线服务中可直接作为结算手段使用的实用型代币。 通过AnimalGo App,用户可以预约和购买AnimalGo Park内的宠物幼儿园、咖啡厅、宠物美容、宠物酒店等服务。 库币数字货币交易所,为来自207个国家的600万用户提供币币、法币、合约、矿池、借贷等一站式服务。[2020/12/23 16:13:17]

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

fmt.Println(n)

}

}

funcmain(){

//函数调用,可传0到多个参数

Test()

主网启动 Go or No Go 将在明早 9 时再次进行:今日会议最终结果确定:No Go. 本次投票中投 No Go 的节点是27个,英文社区 25 个,中文社区 2 个。主要原因是这些节点中部分认为应该等待 1.0.2 版本出来之后再决定,其他投 No Go 的节点也大多给出了原因。北京时间 6 月 9 日早上 9 时继续在 Zoom 上投票。[2018/6/8]

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

}

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

地球链

[0:0ms0-0:806ms