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