Go语言函数入门

Go 语言中,函数可以接受零或多个参数:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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 函数可以优雅地返回多个值,这比定义结构体返回指针舒服多啦!写个简单的程序交换两个字符串:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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 ),以指明各个返回值含义,命名后自动成为局部变量:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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 语句返回所有命名返回值, 这就是所谓的 裸返回naked return )。 裸返回只推荐在 短函数 中使用,如在 长函数 中滥用,则影响 代码可读性

【小菜学Go语言】系列文章首发于公众号【小菜学编程】,敬请关注:

【小菜学Go语言】系列文章首发于公众号【小菜学编程】,敬请关注: