Go函数 | 青训营

67 阅读2分钟

函数

函数是组织好的、可重复使用的、用于执行指定任务的代码块。

Go语言中支持函数、匿名函数和闭包

格式

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

    函数体

}

函数名:由字母、数字、下划线组成。但第一个字母不能是数字。在同一个包内,函数名称不能重名。

参数:参数由参数变量和参数变量的类型组成,多个参数之间使用”,”分隔。

返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,在go中函数可以有多个返回值,多个返回值必须用()包裹,若只写一个返回值类型可以不加括号,并用”,”分隔。

函数体:实现某功能的代码块。

函数的调用

格式:函数名(参数)          如果函数有返回值,则需要用返回值对应类型的变量来接收返回值,不接收返回值也可以

参数

以两个参数为例:

若两个参数类型不同

(x int,y string)

若两个参数类型一样

(x int,y int)  

或者

(x, y int)

可变参数

函数的参数数量不固定

通过在参数名后加...来标识

可变参数通常要作为函数的最后一个参数

固定参数搭配可变参数使用时,可变参数要放在固定参数的后面

函数的可变参数是通过切片来实现的

返回值

Go语言函数可以有多个返回值,多个返回值必须要用()括起来

如果在定义时给返回值命名,最后return的时候就不需要再写return X了(X代指返回值名称)

全局变量

定义在函数外面的变量,在整个程序中都可以访问

局部变量

定义在函数或代码块内的,作用域只在该函数内,不能在外部访问,在函数内,如果有同名的局部变量和全局变量,优先访问局部变量


函数可以作为参数,也可以作为返回值。在作为返回值的时候,不可以用之前一般的函数,只能用匿名函数,匿名函数没有函数名****