golang基础小记(11)——函数基础

函数基础

语法格式:

func 函数名(参数)(返回值) {
	函数体
}

参数

  • 参数由参数变量和对应类型组成,多个参数用,分隔。
  • Go语言中函数没有默认参数
  • 类型简写:当连续两个或多个函数的参数类型相同时,除最后一个类型以外,其它都可以省略。比如参数x int, y int可以写成x, y int
  • 可变参数:当参数数量不固定时,可以通过在参数名后加...来标识可变参数。可变参数在函数中通过切片来实现。可变参数必须放在固定参数的后面。示例如下:
func sum2(x ...int) int {
	fmt.Println(x) // [1 2 3 4 5]
	sum := 0
	for _, v := range x {
		sum += v
	}
	return sum
}

func main() {
	sum := sum2(1, 2, 3, 4, 5)
	fmt.Println(sum) // 15
}

返回值

Go语言通过return关键字输出返回值,且支持多返回值。

返回值无命名

单返回值

func test1() int {
	return 3
} // 调用时直接返回3

多返回值

func test2() (int, string) {
	return 3, "多返回值"
}

多返回值的接收方式:

a, b := test2()
fmt.Println(a, b) // 3 多返回值

上面的ab是自定义的变量名,用来接收返回值,不想接收某个值时可以用_代替变量名。

返回值有命名

返回值有命名时可以直接用return返回,当然写上变量名也没有关系。
命名的返回值可以直接使用,不需要再声明。
命名的多返回值如果类型相同,也可以类型简写。

func test3() (a int, b string) {
	a = 3
	b = "有命名"
	return
}

调用后得到结果如下:

a, b := test3()
fmt.Println(a, b) // 3 有命名

参考

猜你喜欢

转载自blog.csdn.net/m0_37710023/article/details/107578708
今日推荐