go语言初探 七

本文介绍了Go语言中函数的相关特性。包括函数定义格式,参数传递方式与C++类似,支持变长参数且需放最后。还提到函数支持多返回值,采用command,ok模式方便调用者判断执行结果,此外还涉及匿名函数和闭包的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数

在go语言中函数定义格式如下:

func functionName([parameter list]) [returnTypes]{
//body
}

函数由func关键字进行声明。
functionName:代表函数名。
parameter list:代表参数列表,函数的参数是可选的,可以包含参数也可以不包含参数。
returnTypes:返回值类型,返回值是可选的,可以有返回值,也可以没有返回值。
body:用于写函数的具体逻辑

参数传递跟C++一样:值传递,引用传递,指针传递

在go语言中支持变长参数,但需要注意的是变长参数必须放在函数参数的最后一个,否则会报错。变长参数挺有意思的

例:
func main() {
slice := []int{7, 9, 3, 5, 1}
x := min(slice…)
fmt.Printf(“The minimum is: %d”, x)
}

func min(s …int) int {
if len(s) == 0 {
return 0
}
min := s[0]
for _, v := range s {
if v < min {
min = v
}
}
return min
}

多返回值
go语言中函数还支持一个特性那就是:多返回值。通过返回结果与一个错误值,这样可以使函数的调用者很方便的知道函数是否执行成功,这样的模式也被称为command,ok模式,在我们未来的程序设计中也推荐大家使用这种方式。

匿名函数
lambda表达式痛哭

闭包可以解释为一个函数与这个函数外部变量的一个封装。粗略的可以理解为一个类,类里面有变量和方法,其中闭包所包含的外部变量对应着类中的静态变量。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值