Go语言函数声明与定义教程
在 中,使用 前,必须先声明与定义函数。Go 语言的函数由 func、函数名、、返回值、函数体和 组成。
Go语言函数声明与定义详解
语法
func funcName(param1 param1Type, param2 param2Type, ...)(returnVal returnType){ //执行语句... return valuelist }
参数
参数 | 描述 |
---|---|
func | 定义函数所使用的关键字,所有的函数前面都必须使用该关键字。 |
funcName | 函数的名称。 |
param1 | 函数的形参 1。 |
param1Type | 函数的形参 1 的类型。 |
param2 | 函数的形参 2。 |
param2Type | 函数的形参 2 的类型。 |
returnVal | 可选,函数返回值。 |
returnType | 函数返回值类型。 |
return | 函数返回值使用的关键字。 |
valuelist | 函数返回值列表。 |
说明
我们定义了一个函数 funcName,该函数有两个参数和一个返回值。
Go语言函数调用详解
语法
returnVal1, returnVal2, ... = funcName(param1, param2, ...)
参数
参数 | 描述 |
---|---|
returnVal1 | 函数的第一个返回值。 |
returnVal2 | 函数的第二个返回值。 |
funcName | 要调用的函数的名称。 |
param1 | 函数的参数1。 |
param2 | 函数的形参 2。 |
说明
我们调用了函数 funcName,传入了形式参数 param1 和 param2,函数的返回值为 returnVal1 和 returnVal2。
案例
寻找最大数
用函数,实现寻找两个数的最大数
package main import ( "fmt" ) func maxInt(a int, b int)int{ if a > b{ return a } return b } func main() { fmt.Println("嗨客网(www.haicoder.net)") //用函数,实现计算两个数的最大数 result := maxInt(10,20) fmt.Println("Result =", result) }
程序运行后,控制台输出如下:
我们定义了一个函数 maxInt,传入两个 的参数 a 和 b,函数返回一个 int 类型的参数。在函数里面,我们使用 判断 a 和 b 的值,如果 a > b 成立,那么就返回 a 的值,如果不成立,则返回 b 的值,因此实现了寻找 a 和 b 中最大数的逻辑。
在 main() 函数里面,我们调用了 maxInt 函数,并传入了两个参数 10 和 20,使用 result 变量来接受 maxInt 函数返回的值,最后使用 Println() 函数打印最后的结果。
计算和
实现计算两个数之间的所有数的和
package main import ( "fmt" "math" ) func sum(a, b int)int{ maxVal := int(math.Max(float64(a), float64(b))) minVal := int(math.Min(float64(a), float64(b))) sum := 0 for i := minVal; i <= maxVal; i++{ sum += i } return sum } func main() { fmt.Println("嗨客网(www.haicoder.net)") //用函数,实现计算两个数的最大数 result := sum(10,20) fmt.Println("Result =", result) }
程序运行后,控制台输出如下:
我们定义了一个函数 sum,传入两个 的参数 a 和 b,函数返回一个 int 类型的参数。在函数里面,首先,我们使用系统函数 Max 和 min 寻找参数 a 和 b 的最大值和最小值,并将结果分别保存在变量 maxVal 和 minVal 里。
接着,我们使用 遍历 maxVal 和 minVal 之间的所有数,并将它们相加赋值给变量 sum,最后返回 sum 即实现了求 a 和 b 之间的和的逻辑。
在 main() 函数里面,我们调用了 sum 函数,并传入了两个参数 10 和 20,使用 result 变量来接受 sum 函数返回的值,最后使用 Println() 函数打印最后的结果。
Go语言函数声明与定义总结
在 Go 语言中,使用函数前,必须先声明与定义函数。Go 语言的函数由 关键字 func、函数名、参数列表、返回值、函数体和返回语句组成。Go 语言函数声明与定义语法:
func funcName(param1 param1Type, param2 param2Type, ...)(returnVal returnType){ //执行语句... return valuelist }