go语言中匿名函数之将函数作为参数类型示例代码
在Go中,我们可以将一个函数作为另一个函数的参数传递,这也称为匿名函数
示例代码:
package main
import (
"fmt"
"strconv"
)
var a string = "1"
func OuterFunc(strToInt func(s string) int, b int) string {
c := strToInt(a) + b
return strconv.Itoa(c)
}
func main() {
strToInt := func(s string) int {
num, _ := strconv.Atoi(s)
return num
}
result := OuterFunc(strToInt, 2)
fmt.Println(result)
}
输出:
3
扩展知识
为什么要使用一个函数作为另一个函数的参数?
这种能力背后的动机是允许您指定逻辑(算法)并将其传递给另一个函数。
这是编程语言中的一个强大功能。
比如:
bytes.Map()函数,利用这个特性来处理映射函数,下篇文章有示例
有兴趣的可以自行点击
https://www.zongscan.com/demo333/95788.html
相关文章