Golang 使用 func 作为局部变量
函数执行特定任务,定义一次可以重复使用的代码部分。通过将代码分解为小而易于理解的任务,使用函数可以使您的代码更易于理解。函数也被称为 方法 、 子程序 或 过程 。
下面是 Go 编程语言中函数定义的一般形式-
func function_name([parameter list]) [return_types]
{
函数体
}
在 Go 编程语言中的函数定义中,定义了函数的某些部分-
- Func: 此标识符开始声明函数。
- Function Name: 函数名称包括括号并可以包括参数。它是函数的实际名称。
- Parameters: 在函数定义中,参数是一个命名实体,指定函数可以接受的参数。参数是可选的;也就是说,函数可能不包含参数。
- Return Type: 必须指定返回数据类型。返回类型是函数返回的值的数据类型列表。
- Function Body: 包含一组语句,定义函数的功能。
要调用函数,需要将所需参数与其函数名称一起传递。此函数接受两个参数 number1 和 number2,并返回两者之间的最大值?
示例
package main
import "fmt"
func main() {
// local variable definition
var x int = 150
var y int = 360
var ret int
// calling a function to get max value
// and storing its value in a variable
ret = max(x, y)
fmt.Printf("Maximum value is : %d\n", ret)
}
// function returning the max between two numbers
func max(number1, number2 int) int {
var result int
if number1 & gt; number2 {
result = number1
} else {
result = number2
}
return result
}
输出:
Maximum value is : 360
我们可以将 func 变量作为参数传递给需要 func 参数的方法,如下面的示例所示:
//使用 func 的 Golang 程序作为局部变量
包 main
import (
"fmt"
"strings"
)
func main() {
// 将函数 f 分配给变量 f1
f1 := func(f rune) bool {
// 如果为下划线或空格符,则返回 true。
return f == '_' ||
f == ' '
}
val := "geeks1 geeks2"
// 将 func 对象传递给 IndexFunc 方法。
// 这里 f1 是一个函数参数
finalresult := strings.IndexFunc(val, f1)
fmt.Println(finalresult)
val = "geeks1_geeks2"
finalresult = strings.IndexFunc(val, f1)
fmt.Println(finalresult)
}
输出:
6
6