golang函数

函数的定义

在go语言中用func去定义函数,所有非声明的语句都需要写到函数里,程序从main函数开始执行,函数中使用return关键字返回数据,或者结束函数的运行。

一个最简单的函数样式。没有参数也没有返回值

func demo() {
    fmt.Println("haha")

}

参数

函数的参数可以是一个或者多个,都需要指定参数的类型,

func demo(number int) {
    fmt.Println(number)
}

多个参数的函数

func demo(number int, name string) {
    fmt.Println(number)
}

如果函数的参数类型是一样的可以简写成如下code,注意使用逗号分隔各参数 

func demo(name string, age, height, weiget int) {
    fmt.Println(name)
}

返回值

函数返回值需要指定类型

func demo(name string, age, height, weiget int) int {
    fmt.Println(name)
    return 1
}
func main() {
    ret := demo("test", 18, 190, 160)
    fmt.Println(ret)

}

也可以指定返回值类型的时候指定需要返回的变量 num 是要返回的变量

func demo(name string, age, height, weiget int) (num int) {
    num = 100
    return
}

返回多个值

func demo(name string, age, height, weiget int) (num, num1 int) {
    num = 100
    num1 = 200
    return
}
func main() {
    ret, _ := demo("test", 18, 190, 160)
    fmt.Println(ret)

}

不确定参

当你不确定参数的个数的时候在go语言中可以使用...来声明是一个可变参数,可以0到多个参数,如果使用不确定参数的话,那么函数内部的形参,将已切片的形式存在

func demo(name ...string) (num string) {
    num = "helloworld"
    fmt.Printf("%T
", name)
    return
}
func main() {
    ret := demo("test")
    fmt.Println(ret)

}

 返回值是函数

原文地址:https://www.cnblogs.com/Nolover/p/12510444.html