在Go中,函数也是一种数据类型,可以赋值给一个变量,则该变量就是一个函数类型的变量了。通过该变量可以对函数调用。
这种概念类似于scala中的高阶函数

package main
import "fmt"
//定义一个函数:
func test(num int){fmt.Println(num)
}
func main(){//函数也是一种数据类型,可以赋值给一个变量   a := test//变量就是一个函数类型的变量fmt.Printf("a的类型是:%T,test函数的类型是:%T \n",a,test)//a的类型是:func(int),test函数的类型是:func(int)//通过该变量可以对函数调用a(10) //等价于  test(10)
}

函数既然是一种数据类型,因此在Go中,函数可以作为形参,并且调用
(把函数本身当做一种数据类型)

package main
import "fmt"
//定义一个函数:
func test(num int){fmt.Println(num)
}
//定义一个函数,把另一个函数作为形参:
func test02 (num1 int ,num2 float32, testFunc func(int)){fmt.Println("-----test02")
}
func main(){//函数也是一种数据类型,可以赋值给一个变量   a := test//变量就是一个函数类型的变量fmt.Printf("a的类型是:%T,test函数的类型是:%T \n",a,test)//a的类型是:func(int),test函数的类型是:func(int)//通过该变量可以对函数调用a(10) //等价于  test(10)//调用test02函数:test02(10,3.19,test)test02(10,3.19,a)
}

Go中的函数也是一种数据类型,可以赋值给一个变量相关推荐

  1. 几何画板中作函数图像的几种方法

    随着社会的发展,现代教学很多的地方都有了多媒体教学,这就需要一些教学软件的辅助了,几何画板就是其中之一.一些老师在使用几何画板的过程中,常常涉及到函数图象的绘制.因此,很多用户对这方面教程是非常的感兴 ...

  2. python函数可以改变哪种数据类型的实参_Python函数参数的几种类型

    位置参数 函数调用时,实参默认按照位置顺序传递,需要个数的和形参匹配,按位置传递 的参数,称为:"位置参数". 例子: def one(a,b,c): print(a,b,c) o ...

  3. Go语言函数作为 值 赋值给一个变量 和 函数作为参数传入另一个函数的写法你不想了解咩

    1.在Go语言中,函数也是可以作为值赋值给另一个变量的,代码如下: package mainimport "fmt"func function1() {fmt.Println(&q ...

  4. matlab中的mkdir函数_科学网—Matlab中计算函数运行时间的三种方法及判断新建文件夹 - 张伟的博文...

    (一)运行时间 1.tic和toc组合 计算daotic和toc之间那专段程序之间的属运行时间,它的经典格式为 : tic 函数 toc 复制函数代码,当代码遇到tic时Matlab自动开始计时,运行 ...

  5. Windbg在Managed App中设置函数断点的几种方法

    本文介绍两种使用Windbg在Managed App中设置断点的方法.一种是在live Debug的时候,attach到了Process之后.另外一种是动态调试的时候,如何给几个模块的特定方法下一个断 ...

  6. 微信小程序 自定义组件中 triggerEvent() 函数失效的一种情况 (Cannot read property ‘triggerEvent‘ of undefined)

    在网络上并没有搜索到这种情况,这里记录下避免以后的自己和广大码农踩到这个坑 问题描述:在自定义组件中想调用 this.triggerEvent()函数给父组件传参,过程中报错:Cannot read ...

  7. JS中箭头函数写法及5种简写规则

    ES6箭头函数的引入,使函数的写法变的更加简洁. 箭头函数没有自己的this,arguments,super或new.target.箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造 ...

  8. python中函数可以赋值给一个变量_python中函数赋值给变量时的问题注意详解

    变量赋值是我们在日常开发中经常会遇到的一个问题,下面这篇文章主要给大家介绍了关于python中将函数赋值给变量时需要注意的一些问题,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的 ...

  9. c 读取mysql 时间字段_MySQL中的时间字段的几种数据类型比较

    1.序言 ​ 最近在项目开发时,对于MySQL数据库中的有关时间的字段该选用何种类型,引发了一些争论.所以做了一些简单的研究,看了一些blog,和官方文档.最后做出一个自己的总结. 2.类型比较 IN ...

最新文章

  1. linux stdin STDIN_FILENO 区别
  2. python 计算两个日期相差多少个月
  3. python网络爬虫系列(三)——cookie的原理、保存与加载
  4. sql azure 语法_方便SQL笔记本,用于在Azure Data Studio中进行故障排除
  5. Linux中,Mysql安装
  6. 白板推导系列Pytorch-逻辑回归
  7. 让Xcode日志输出中文
  8. BT.1120协议简介
  9. CDH6离线安装教程
  10. spring自带的md5加密工具
  11. 优色专显教你led显示屏诺瓦刷屏教程
  12. Selenium中的鼠标单击事件
  13. 三角形网格的TBN矩阵中的Tangent计算。
  14. android分辨率选择,安卓Android手机屏幕壁纸分辨率选择技巧
  15. Markdown花样表格一键生成-基于Python
  16. 时至今日,写字依然是很好的职场“捷径”
  17. ubuntu16.04安装qq
  18. 图网络可解释性(2)
  19. 02 KVM安装虚拟化
  20. freedns mysql_freedns.afraid.org免费多子域名支持dns解析

热门文章

  1. sharepoint文件夹本地同步_Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘
  2. oracle存储照片,[oracle]中存储图片
  3. DHL全球货运与第四范式达成合作
  4. tensorflow随笔-队列管理器QueueRunner-生产者与消费者
  5. 【NLP】文本分类综述 (上)
  6. 【论文解读】无需额外数据、Tricks、架构调整,CMU开源首个将ResNet50精度提升至80%+新方法...
  7. Pandas练习题-提高你的数据分析技能
  8. 2019“编程的夏天”完美收官!这些00后点燃了这个盛夏
  9. 【入门】WebRTC知识点概览 | 内有技术干货免费下载
  10. 短信转化效果不好?试试这几招