一个函数可以有零或几个参数。
下面这个例子,就是添加了两个int类型的参数。
注意这个类型是在变量名的后面。
(想知道更多关于类型的文章,可以看这篇 .)
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