内容简介:函数的参数的传递方式:在 Golang 中函数调用参数均为值传递,函数在穿参的时候,都是以值的方式传递
函数的声明
-
go的函数声明通过
func
这个关键字,params
是他的形参设置,result
是他的return值 -
当设置
params
后调用func
必须传入对应函数参数,当设置result
后也必须有return
,且params
和result
类型符合声明的
func name(params) (result) { } // 普通函数的声明 func getMax(num1 int, num2 int) (min int, max int) { // 推荐直接赋值给需要return的值 if num1 > num2 { max = num1 min = num2 } else { max = num2 min = num1 } return // 每一个函数必须要有return }
可变参数类型函数
- 可变参数一般被放置在函数列表的末尾,前面是固定参数列表,当没有固定参数时,所有变量就将是可变参数。
// 可变参数类型 func getArr(a ...int) (length int) { length = len(a) return } // 部分参数是可变参数 func getLen(a int, c ...int) (length int) { length = len(c) + a return }
函数的参数传递
函数的参数分为两种:
- 实际参数(实参): 实参的本质是一个变量,它可以是变量名、数组名、常数或者表达式,已实际占用内存空间
- 形式参数(形参): 形参本质是一个名字,不占用内存空间
// 实参 func shiCan(a int, b int) (result int) { result = a + b return } func main() { shiCan(1, 4) } // 形参 var a int = 3 var b int = 5 func xingCan(a int, b int) (result int) { result = a + b return } func main() { xingCan() }
函数的参数的传递方式:
在 Golang 中函数调用参数均为值传递,函数在穿参的时候,都是以值的方式传递
例子一:(int类型)
func add(num int) (result int) { fmt.Println(&num) return num } func main() { num := 10 result := add(num) fmt.Println(&num) fmt.Println(result) }
例子二:(array类型)
func add(num [1]int) (result [1]int) { num[0] = 1 fmt.Println(num) // [1] return num } func main() { num := [...]int{10} result := add(num) fmt.Println(num) // [10] fmt.Println(result) }
例子三:(指针类型)
func modify(value *int) { value = nil fmt.Println(value) // 0x0 } func main() { a := new(int) modify(a) fmt.Println(a) // 0xc000040780 }
以上所述就是小编给大家介绍的《GO-函数学习》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Go 学习笔记之学习函数式编程前不要忘了函数基础
- python学习日记:day16-------内置函数与匿名函数
- Python函数的学习
- 学习函数式编程 Monad
- 如何开始函数编程的学习?
- 学习 Hive(十):窗口函数
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。