go语言中匿名函数之将函数作为参数类型示例代码

2023-06-01 00:00:00 函数 示例 参数

在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

相关文章