网站首页 返回列表 像“草根”一样,紧贴着地面,低调的存在,冬去春来,枯荣无恙。

05. 函数

2020-06-10 03:05:11 admin 872

函数可以没有参数,也可以有多个参数。

__

  1. package main
  2. import(
  3. "fmt"
  4. )
  5. //有两个参数的函数
  6. func add(x,y int) int {
  7. return x + y
  8. }
  9. //没有参数的函数
  10. func isay() string{
  11. return "I say the number is"
  12. }
  13. //主函数
  14. func main(){
  15. fmt.Println(isay(), add(2, 5))
  16. }

是不是奇怪add函数的参数的写法?
你没看错,Go语言可以这样写。如果多个参数都是同一个数据类型的话,前面的参数可以略写数据类型,只要最后一个写类型就可以了。
(x int, y int)等同于(x,y int)
【注意】Go语言里,数据类型都写在变量名之后。

Go语言里,函数还可以有任意数量的返回值,这给程序设计提供了很大的便利。

__

  1. package main
  2. import(
  3. "fmt"
  4. )
  5. //有两个参数的函数
  6. func add(x,y int) int {
  7. return x + y
  8. }
  9. //没有参数的函数
  10. func isay() string{
  11. return "I say the number is"
  12. }
  13. //多个返回值的函数
  14. func swap(x,y string) (string, string, string) {
  15. return y, x, "!!!"
  16. }
  17. func main(){
  18. fmt.Println(isay(), add(2, 5))
  19. fmt.Println(swap("world", "Hello"))
  20. }

新增加的swap函数返回了三个字符串,不但交换了参数的顺序,还给出了一个”!!!”的返回值。

函数还可以“命名返回值”,这样的写法,在return后可以不写任何代码。函数体如下:

__

  1. func split(sum int) (x,y int) {
  2. x = sum * 4 / 9
  3. y = sum - x
  4. return
  5. }

这样没有参数的return,返回各个返回变量的当前值。这种用法被称为“裸”返回。
【注意】这样的用法最好只在较短的函数体使用。长的函数会影响代码的可读性。返回值的名称,应当具有一定的意义,可增加代码的可读性。

完整代码

__

  1. package main
  2. import(
  3. "fmt"
  4. )
  5. //有两个参数的函数
  6. func add(x,y int) int {
  7. return x + y
  8. }
  9. //没有参数的函数
  10. func isay() string{
  11. return "I say the number is"
  12. }
  13. //多个返回值的函数
  14. func swap(x,y string) (string, string, string) {
  15. return y, x, "!!!"
  16. }
  17. //命名返回值
  18. func split(sum int) (x,y int) {
  19. x = sum * 4 / 9
  20. y = sum - x
  21. return
  22. }
  23. func main(){
  24. fmt.Println(isay(), add(2, 5))
  25. fmt.Println(swap("world", "Hello"))
  26. fmt.Println(split(197))
  27. }
转载文章,原文链接: 05. 函数

关键字词函数

分享到:

如需留言,请 登录,没有账号?请 注册

0 条评论 0 人参与

顶部 底部