定义格式
函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。
Go语言函数定义格式如下:
funcFuncName(/*参数列表*/)(o1type1,o2type2/*返回类型*/){
//函数体、
returnv1,v2//返回多个值
}
函数定义说明:
func:函数由关键字func开始声明
FuncName:函数名称,根据约定,函数名首字母小写即为private,大写即为public
参数列表:函数可以有0个或多个参数,参数格式为:变量名类型,如果有多个参数通过逗号分隔,不支持默认参数
返回类型:
① 上面返回值什么两个变量名,当然这不是必须的,可以有类型,没变量。② 如果只有一个返回值且不声明返回值变量,那么你可以省略,包括返回值的括号。③ 如果没有返回值,那么就直接省略最后的返回信息。④ 如果有返回值,那么必须在函数的内部添加return语句
安全团队:Twitter Logo (DOGE)项目发生Rug Pull:金色财经报道,据PeckShield监测,Twitter Logo(DOGE)项目发生Rug Pull。部署者从Binance获得约1.4ETH的资金,于30分钟前创建Twitter Logo(DOGE)合约,并添加了1ETH的流动性。随后他们移除了流动性,并将约3.2ETH转至0xA478地址。[2023/4/4 13:43:36]
函数定义
无参无返回值
funcTest(){//无参无返回值函数定义
fmt.Println("thisisatestfunc")
}
funcmain(){
Test()//无参无返回值函数调用
}
有参无返回值
普通参数列表
funcTest01(v1int,v2int){//方式1
SEC指控Avraham Eisenberg从Mango Markets盗取1.16亿美元:金色财经报道,美国证券交易委员会指控被称为Mango Avi的Avraham Eisenberg策划了对Mango Markets的攻击,并从该加密货币交易平台抽走1.16亿美元。美国证券交易委员会表示,Eisenberg操纵MNGO代币。他还面临司法部和商品期货交易委员会的指控。该机构在周五的一份声明中说,对其他违反证券法的行为以及与被指控的不当行为有关的其他实体和人员的调查正在进行。美国证券交易委员会在投诉中说,Mango Markets已经停止营业。[2023/1/21 11:24:34]
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)
比特币支持者认为BTC是解决中非共和国货币问题的办法而非Sango Coin:金色财经报道,中非共和国(CAR)总统Faustin-Archange Touadera最近宣布推出名为“Sango Coin”的国家加密货币。然而,比特币支持者坚持认为,BTC这种顶级加密货币是解决中非共和国货币问题的唯一办法。
Touadera最新的支持加密的言论是在他的国家推出Sango币时发表的,官方称这是一种加密资产,将被用于访问CAR的自然资源。然而,CAR发行由BTC支持的加密资产的目标并没有得到比特币持有者的认可。在推特上,一些比特币用户质疑CAR推出加密货币的动机,因为在他们看来,比特币已经是国家需要的解决方案。(news.bitcoin)[2022/7/6 1:55:50]
}
funcmain(){
Test01(10,20)//函数调用
Test02(11,22)//函数调用
矿企Argo 8月加密货币挖矿收入为683万英镑:9月3日消息,加密货币采矿公司Argo Blockchain首席执行官Peter Wall表示,对其公司8月份的比特币挖矿收益感到满意,并期望继续为股东创造价值,8月份在加密货币挖矿方面收入了683万英镑,高于上个月的460万英镑,未来会继续致力于在加密货币挖矿领域实现积极变革。据悉,该公司在8月中旬宣布已成为第一家公开交易的加密货币矿商,并发布气候战略,积极应对气候变化等问题,实现碳中和。(Proactiveinvestors)[2021/9/3 22:57:52]
}
不定参数类型
不定参数是指函数传入的参数个数为不定数量。为了做到这点,首先需要将函数定义为接受不定参数类型:
//形如...type格式的类型只能作为函数的参数类型存在,并且必须是最后一个参数funcTest(args...int){
for_,n:=rangeargs{//遍历参数列表
xWIN Group完成7.7亿日元融资,Bungo Saito和Hidehiko Nakagawa等参投:官方消息,xWIN Group宣布完成7.7亿日元融资,Bungo Saito和Hidehiko Nakagawa等参投。据悉,xWIN Group于2020年8月成立后,于2021年3月推出基于区块链技术的xWIN平台。
此前消息,DeFi协议xWin对受闪电贷攻击影响用户进行1:1xWIN代币补偿[2021/7/16 0:57:14]
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
}
区块链一直是加密货币的核心。这次反弹的核心主要是由于区块链技术的出现。区块链可以被视为所有加密货币的基础技术。区块链可以在不需要第三方的情况下处理和验证交易.
1900/1/1 0:00:00由于社交参与度高,LunarCrush将ShibaInu添加到其交易平台。知名社交智能平台LunarCrush宣布其交易平台LunarCrushTrade新增柴犬.
1900/1/1 0:00:00周二,攻击者向Euler发送了7,000多个以太币,并在交易消息中似乎为他们的行为道歉。 在事件的突然转变中,EulerFinance的2亿美元攻击背后的攻击者向协议返还了更多资金,并且似乎在区.
1900/1/1 0:00:00以下将介绍五个最适合初学者的流动性质押协议,这些机会提供了不同的收益潜力和多样化的组合,以适应不同的喜好和风险偏好.
1900/1/1 0:00:00Shibarium的每日交易量创下推出以来的最高水平。SHIB、BONE和LEASH的价格略有上涨。Shibarium的出现可能在正式发布前几周给柴犬带来了急需的喘息机会.
1900/1/1 0:00:00一、背景 CryptoPunks毫无疑问是市场上最知名的NFT项目之一,作为最早一批推出的NFT项目,一直受加密圈大佬们的关注.
1900/1/1 0:00:00