一个函数可以有零或几个参数。
下面这个例子,就是添加了两个int类型的参数。
注意这个类型是在变量名的后面。
(想知道更多关于类型的文章,可以看这篇 article on Go's declaration syntax.)
1 package main
2
3 import "fmt"
4
5 func add(x int, y int) int {
6 return x + y
7 }
8
9 func main() {
10 fmt.Println(add(42, 13))
11 }
55
当两个或几个相同类型的参数时,我们可以忽略前面几个类型定义,留下最后一个就可以了。
在下面这个理中,我们可以缩略写成这样:
x int, y int
改成
x, y int
1 package main
2
3 import "fmt"
4
5 func add(x, y int) int {
6 return x + y
7 }
8
9 func main() {
10 fmt.Println(add(42, 13))
11 }
55
一个函数可以返回任意多的值的。
下面这个方法就返回两个。
1 package main
2
3 import "fmt"
4
5 func swap(x, y string) (string, string) {
6 return y, x
7 }
8
9 func main() {
10 a, b := swap("hello", "world")
11 fmt.Println(a, b)
12 }
world hello
在GO 语言中,不仅可以返回单个值,还可以返回多个值。
如果返回的值名称,已经在函数体内声明了变量,则在return 后面,就不需要任何内容了。
1 package main
2
3 import "fmt"
4
5 func split(sum int) (x, y int) {
6 x = sum * 4/9
7 y = sum - x
8 return
9 }
10
11 func main() {
12 fmt.Println(split(17))
13 }
7 10