您的位置:首页 > 娱乐 > 八卦 > 室内设计官方网站_建筑工程承包合同书_公司宣传推广方案_合肥网站推广公司排名

室内设计官方网站_建筑工程承包合同书_公司宣传推广方案_合肥网站推广公司排名

2025/7/31 19:18:01 来源:https://blog.csdn.net/weixin_44043952/article/details/147589439  浏览:    关键词:室内设计官方网站_建筑工程承包合同书_公司宣传推广方案_合肥网站推广公司排名
室内设计官方网站_建筑工程承包合同书_公司宣传推广方案_合肥网站推广公司排名
  • 函数作为数据类型的一种,可以成为其他函数的参数。
  • 在 Go(Golang) 中,函数作为参数 和 接口(interface),本质上都和抽象、灵活调用有关 —— 都是让代码更灵活、更可扩展的手段。
  • 不过它们各有侧重,联系在于:
    • 都是用来传递“行为”或“能力”,而不是传递具体的数据。
    • 本质上都是一种“面向抽象编程” —— 只关心"做什么",不关心"具体怎么做"。

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

// Go把函数当成一种一等公民(first-class citizen),你可以像传递变量一样传递函数。package mainimport "fmt"// 函数作为参数
func operate(a, b int, op func(int, int) int) int {return op(a, b)
}func add(x, y int) int {return x + y
}func main() {result := operate(3, 4, add)fmt.Println(result) // 输出 7
}
// 接口定义的是一组方法的集合。任何类型,只要实现了这些方法,就可以被赋值给接口变量。package mainimport "fmt"// 定义一个接口
type Operator interface {Operate(a, b int) int
}// 一个实现了 Operator 接口的类型
type AddOperator struct{}func (AddOperator) Operate(a, b int) int {return a + b
}func compute(a, b int, op Operator) int {return op.Operate(a, b)
}func main() {add := AddOperator{}result := compute(3, 4, add)fmt.Println(result) // 输出 7
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com