Go学习笔记1.6 函数剖析
函数定义
Go语言支持:函数、匿名函数和闭包 定义函数使用func关键字
//函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也不能重名
func 函数名(参数)(返回值) {
函数体
}
函数传参
Go语言中调用函数,传递过来的变量就是函数的实参,函数可以通过两种方式来传递参数:值传递 和 引用传递
值传递: 调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数
引用传递: 调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数
- 参数传递
func swap(x, y *int){
var temp int
temp = *x /* 保存 x 的值 */
*x = *y /* 将 y 值赋给 x */
*y = temp /* 将 temp 值赋给 y*/
}
- 不定参数传递
可变参数本质上就是slice,只能有一个,且必须是最后一个。
//其中args是一个slice,我们可以通过arg[index]依次访问所有参数,通过len(arg)来判断传递参数的个数
func myfunc(args ...int){
//0个或多个参数
}
//任意类型的不定参数
func myfunc(args ...interface{}){
}
函数返回值
匿名函数
闭包函数
递归函数
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。