内容简介:函数的参数的传递方式:在 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(十):窗口函数
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java编程思想 (第4版)
[美] Bruce Eckel / 陈昊鹏 / 机械工业出版社 / 2007-6 / 108.00元
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到......一起来看看 《Java编程思想 (第4版)》 这本书的介绍吧!