定义
函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输出。
函数声明
Go
语言中函数声明的通用语法如下:
func functionName(parameterName type) returnType { // 函数体(具体实现的功能) }点击复制复制失败已复制
函数的声明以关键词 func
开始,后面紧跟自定义的函数名 functionName
(函数名)。函数的参数列表定义在 (
和 )
之间,返回值的类型则定义在之后的 returnType
(返回值类型)处。声明一个参数的语法采用 参数名参数类型 的方式,任意多个参数采用类似 (parameter1 type, parameter2 type)
即(参数1 参数1的类型, 参数2 参数2的类型)的形式指定。之后包含在 {
和 }
之间的代码,就是函数体。
Tip
函数声明的位置和引用位置无前后关系,可以先声明再引用,也可以先引用后声明。
多返回值
Go
语言支持一个函数可以有多个返回值,示例:
func rectProps(length, width float64)(float64, float64) { var area = length * width var perimeter = (length + width) * 2 return area, perimeter }点击复制复制失败已复制
Tip
如果一个函数有多个返回值,那么这些返回值必须用 (
和 )
括起来
命名返回值
从函数中可以返回一个命名值。一旦命名了返回值,可以认为这些值在函数第一行就被声明为变量了。
func rectProps(length, width float64)(area, perimeter float64) { area = length * width perimeter = (length + width) * 2 return // 不需要明确指定返回值,默认返回 area, perimeter 的值 }点击复制复制失败已复制
Tip
函数中的 return
语句没有显式返回任何值。由于 area
和 perimeter
在函数声明中指定为返回值, 因此当遇到 return
语句时, 它们将自动从函数返回。
空白符
_
在 Go
中被用作空白符,可以用作表示任何类型的任何值。
例如:
area, _ := rectProps(10.8, 5.6) // 返回值周长被丢弃