5.2 Go语言函数变量 - Go语言中文社区

5.2 Go语言函数变量


在Go语言中,函数也是一种类型,可以和其他类型一样保存在变量中,下面的代码定义了一个函数变量 f,并将一个函数名为 fire() 的函数赋给函数变量 f,这样调用函数变量 f 时,实际调用的就是 fire() 函数,代码如下:

  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func fire() {
  6. fmt.Println("fire")
  7. }
  8. func main() {
  9. var f func()
  10. f = fire
  11. f()
  12. }

代码输出结果:

  1. fire

代码说明:

  • 第 7 行,定义了一个 fire() 函数。
  • 第 13 行,将变量 f 声明为 func() 类型,此时 f 就被俗称为“回调函数”,此时 f 的值为 nil。
  • 第 15 行,将 fire() 函数作为值,赋给函数变量 f,此时 f 的值为 fire() 函数。
  • 第 17 行,使用函数变量 f 进行函数调用,实际调用的是 fire() 函数。
版权声明:本教程内容除了本站原创内容外,还有来源自C语言编程网,博客园,CSDN等技术站点,感谢相关博主原创文章,转载请附上原文出处链接和本声明。
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 阅读 ( 612 )
  • 分类:Go

0 条评论

官方社群

GO教程

猜你喜欢