其中,参数与返回值一起构成了函数签名(signature)。
Go 语言中,函数可以接受零或多个参数:
package main import "fmt" func add(x int, y int) int { return x + y } func main() { fmt.Println(add(43, 13)) }
在这个例子中, add 函数接受两个整型( int )参数。 注意到,类型申明紧跟在参数名之后,与其他语言有些区别。
如果参数类型相同,则在最后一个申明即可,前面的可以省略。
因此,可以将 x int, y int 简写成 x, y int 。
返回多个值
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 函数返回值可以被命名( named ),命名后当做函数参数来对待。 命名的意义在于指明各个返回值含义。
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)) }
一个不带任何参数的 return 语句返回所有命名返回值, 这就是所谓的 裸返回 ( nakedreturn )。 裸返回只推荐在 短函数 中使用,如在 长函数 中滥用,则影响 代码可读性 。
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论