本文适合初学者阅读
定义
package main
func hello() {
println("hello, world")
}
func exec(f func()) {
f()
}
func main() {
f := hello
exec(f)
}
- 函数属于第一类对象, 具体相同签名的视作同一类型.
-
第一类对象是指可在运行期创建, 可用作函数参数或返回值, 可存入变量的实体.最常见的就是匿名函数
- 函数只能判断其是否为
nil
, 不支持其他比较操作.
func a() {}
func b() {}
func main() {
println(a == b) // 无效操作, 会报错
println(a == nil) //正常操作
}