操作系统:centos8;golang版本:1.17.4
1、函数声明
函数声明通用语法如下:
func functionname(parametername1 type, parametername2 type) returntype {
// 函数体(具体实现的功能)
}
函数中的参数列表和返回值并非是必须的,例如:
func functionname() {
// 这个函数不需要输入参数,也没有返回值
}
2、多返回值
golang支持一个函数可以有多个返回值,例如:
package main
import (
"fmt"
)
func rectProps(length, width float64) (float64, float64) {
var area = length * width //求面积
var perimeter = (length + width) * 2 //求周长
return area, perimeter
}
func main() {
area, perimeter := rectProps(6.6, 8.8)
fmt.Printf("Area %f Perimeter %f", area, perimeter)
}
3、命名返回值
从函数中可以返回一个命名值。一旦命名了返回值,可以认为这些值在函数第一行就被声明为变量了。
上面的rectProps函数可以写成:
func rectProps(length, width float64) (area, perimeter float64) {
area = length * width
perimeter = (length + width) * 2
return // 不需要明确指定返回值,默认返回 area, perimeter 的值
}
4、空白符
空白符 _ 可以用作表示任何类型的任何值。
因为go中定义的变量都要被使用,否则会报错。当我们不需要使用某个变量时,就可以用空白符 _ 来表示。例如:
func main() {
area, _ := rectProps(6.6, 8.8) // 返回值周长被丢弃
fmt.Printf("Area %f ", area)
}