函数 Functions

函数是特定功能的代码块,以达到代码重用(重复使用)的目的。

函数通常会与标识符绑定,而未与标识符绑定的函数称为匿名函数。函数通过参数接收用户数据,并利用返回值将操作结果返回给调用表达式。

函数声明 declare

函数声明会为函数绑定标识符,函数标识符通常称为函数名。语法为:

func FunctionName Signature FunctionBody
func 函数名 函数签名 函数体
其中:
函数签名包括参数和返回值声明
1
2
3
4

func 关键字用于声明函数。

演示:

func F1() {
}
func F2(x, y int) {
}
func F3(x, y int) int {
    return 0
}
func F4(x, y) (int, string) {
    return 0, ""
}
1
2
3
4
5
6
7
8
9
10

函数声明为预处理语句。

参数 Parameters

函数参数用于接收调用时传递的数据。声明函数时需要声明函数需要的参数列表。参数可以全部是具名或全部是

剩余参数

返回值

命名返回

调用函数 invoke

声明的函数可以被调用,调用时,需要提供函数需要的参数,同时可以接收函数返回值(存在的话)。例如:

F1()
F2(42, 1024)
r1 := F3(42, 1024)
r1, r2 := F4(42, 1024)
1
2
3
4

函数后使用 () 表示调用函数。

调用栈

栈逃逸

匿名函数、闭包

高阶函数

函数指针类型,因此可以将函数作为其他函数参数,称为高阶函数,Higher-Order Function.

函数类型

函数签名

延迟调用 defer

内置函数 build-in functions

递归