Go语言函数的定义和调用(附带实例)
在 Go 语言中,函数是实现某个特定功能的代码段。如果一段程序代码具有某个特定的功能,则可以把它定义成函数。
使用函数最大的好处是可以使代码更简洁,提高重用性。在程序中使用自己定义的函数,首先必须定义函数,而在定义函数时,函数本身是不会执行的,只有在调用函数时才执行。
下面介绍函数的定义和调用的方法。
定义函数的基本语法格式如下:
定义没有参数和返回值的函数 hello(),在函数体中输出“Hello Go”字符串。代码如下:
定义用于计算两个数乘积的函数 product(),该函数有两个参数 m 和 n,数据类型都是 int,返回值的类型同样是 int。代码如下:
调用函数需要创建调用语句,调用语句包含函数名称和一对小括号,如果有参数则需要在小括号中传递参数具体值。格式如下:
【实例】获取切片中的最大值。定义函数 getMax(),在函数中定义切片,通过遍历切片的方式获取并输出切片中的最大值,最后调用函数输出结果。代码如下:
使用函数最大的好处是可以使代码更简洁,提高重用性。在程序中使用自己定义的函数,首先必须定义函数,而在定义函数时,函数本身是不会执行的,只有在调用函数时才执行。
下面介绍函数的定义和调用的方法。
Go语言函数的定义
在 Go 语言中,定义函数需要使用 func 关键字。函数主要由 5 个部分组成,分别是关键字 func、函数名、参数列表、返回类型和函数体。定义函数的基本语法格式如下:
func 函数名(参数 1, 参数 2, ...)(返回类型){ 函数体 }参数说明如下:
- 函数名:定义的函数名称;
- 参数:可选,用于指定参数列表。当使用多个参数时,参数间使用逗号分隔;
- 返回类型:可选,用于指定返回值的数据类型。如果有多个返回值,必须依次为每个返回值设置数据类型,多个类型之间用逗号分隔;
- 函数体:用于实现函数功能的语句。
定义没有参数和返回值的函数 hello(),在函数体中输出“Hello Go”字符串。代码如下:
func hello() { fmt.Print("Hello Go") }
定义用于计算两个数乘积的函数 product(),该函数有两个参数 m 和 n,数据类型都是 int,返回值的类型同样是 int。代码如下:
func product(m int, n int) int { var r int r = m * n return r }
Go语言函数的调用
函数定义后不自动执行,执行函数要在特定的位置调用函数。调用函数需要创建调用语句,调用语句包含函数名称和一对小括号,如果有参数则需要在小括号中传递参数具体值。格式如下:
函数名(传递给函数的参数1,传递给函数的参数2,...)定义的函数 hello() 的功能是输出“Hello Go”字符串。现在调用该函数,代码如下:
package main import "fmt" func hello() { // 定义 hello()函数 fmt.Print("Hello Go") } func main() { // 调用 hello()函数 hello() }运行结果如下:
Hello Go
【实例】获取切片中的最大值。定义函数 getMax(),在函数中定义切片,通过遍历切片的方式获取并输出切片中的最大值,最后调用函数输出结果。代码如下:
package main import "fmt" func getMax() { // 定义 getMax()函数 num := []int{3, 5, 9, 6, 2, 7} // 定义切片 maxValue := num[0] // 将第一个元素作为最大值 // 遍历切片 for i := 1; i < len(num); i++ { if num[i] > maxValue { // 如果当前元素大于最大值 maxValue = num[i] // 更新最大值 } } fmt.Print("切片中的最大值是", maxValue) // 输出最大值 } func main() { // 调用 getMax()函数 getMax() }运行结果如下:
切片中的最大值是9