概述
概况
函数是结构化编程的最小模块单元。
- 不支持匿名嵌套。
- 不支持重载(overload)。
- 不支持默认参数。
- 支持变参。
- 支持多返回值和命名返回值。
- 支持匿名函数和闭包。
函数是结构化编程的最小单位。类似搭积木、函数是最小的积木块。函数不关心细节,我们不需要介入到函数内部,所以函数对我们来说名字(签名)很重要。流程控制的表现方式也是函数。
所有的代码都是基于函数来封装的,方法也可以看做一种变相的函数,它和某个状态相绑定,在汇编层面上是一回事。方法和函数的区别在于方法绑定一个对象实例,对象实例可能是某个对象或者某个类型对象,绑定类型对象的方法通常称之为静态方法或者类方法。
Go 语言函数设计得比较保守,不支持匿名嵌套。
重载是名字相同参数不同。不支持重载也就是说在一个名字空间或者包的名字空间下面只允许出现一个名字。
函数是第一类对象
func test(f func()) func() {
return func() {
println("test.")
f()
}
}
func main() {
f := func() { println("hello") }
f = test(f)
f()
}
函数名本质上是个指针,但是在抽象层面把它当成函数而不会把它当成指针。C语言可以把函数当成指针,但是从抽象层面上来说,并不会把函数当成普通的指针而是函数对象。
什么叫第一类对象?第一类对象指的是可以把函数当普通的变量,可当参数传递、返回值返回。函数本身是一个对象。
参数传递
我们可以把函数当成逻辑来传递,因为平时更习惯把数据传过去
最后
以上就是活力果汁为你收集整理的函数:函数是第一类对象的全部内容,希望文章能够帮你解决函数:函数是第一类对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复