方法
方法可以有零个以上参数。
在下面的例子里, add 方法有两个 int型参数。
但是请注意,类型在参数名的后面。
(关于为什么类型在参数的后面的更多信息, 请看 这篇文章 Go's declaration syntax.) (国内应该打不开,后面可能翻译过来)
#function.go
package main import "fmt" func add(x int, y int) int { return x + y } func main() { fmt.Println(add(42, 13)) }
方法继续
如果一个方法有两个或者以上的参数都是同一个类型,可以把参数类型写在最后一个的后面。
在下面的例子里,就是简写的。
x int, y int ``` 写成
x, y int
#function-continued.go
package main import "fmt" func add(x, y int) int { return x + y } func main() { fmt.Println(add(42, 13)) }
多返回值
一个方法可以有任意个返回值。
这个swap 方法就返回了两个string类型的值
#multiple-results.go
package main import "fmt" func swap(x, y string) (string, string) { return y, x } func main() { a, b := swap("hello", "world") fmt.Println(a, b) }
命名返回值
Go的返回值可以被命名。如果命名返回值,这些名称会被当做在这个方法内声明的变量。
这些名称应该在方法里被使用,并且记录返回的值。
一个return语句并没有 返回的参数,则被叫做裸return。
裸return语句,最好用在短方法里面,比如下面的例子。如果用在很长的方法里,代码的阅读性会变差。
#named-results.go
package main import "fmt" func split(sum int) (x, y int) { x = sum * 4 / 9 y = sum - x return } func main() { fmt.Println(split(17)) }
网友评论