mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-28 23:42:21 +00:00
commit
4a37b6efc8
@ -24,10 +24,10 @@ var Add = func(a, b int) int {
|
||||
}
|
||||
```
|
||||
|
||||
Go语言中的函数可以有多个输入参数和多个返回值,输入参数和返回值都是以传值的方式和被调用者交换数据。在语法上,函数还支持可变数量的参数,可变数量的参数必须是最后出现的参数,可变数量的参数其实是一个切片类型的参数。
|
||||
Go语言中的函数可以有多个参数和多个返回值,参数和返回值都是以传值的方式和被调用者交换数据。在语法上,函数还支持可变数量的参数,可变数量的参数必须是最后出现的参数,可变数量的参数其实是一个切片类型的参数。
|
||||
|
||||
```go
|
||||
// 多个输入参数和多个返回值
|
||||
// 多个参数和多个返回值
|
||||
func Swap(a, b int) (int, int) {
|
||||
return b, a
|
||||
}
|
||||
@ -59,7 +59,7 @@ func Print(a ...interface{}) {
|
||||
|
||||
第一个`Print`调用时传入的参数是`a...`,等价于直接调用`Print(123, "abc")`。第二个`Print`调用传入的是未解包的`a`,等价于直接调用`Print([]interface{}{123, "abc"})`。
|
||||
|
||||
不仅函数的输入参数可以有名字,也可以给函数的返回值命名:
|
||||
不仅函数的参数可以有名字,也可以给函数的返回值命名:
|
||||
|
||||
```go
|
||||
func Find(m map[int]int, key int) (value int, ok bool) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user