通过程序的输出,我们能够观察到:
最后请大家思考,如果匿名函数执行了,程序还能正常运行吗?
答案很显然是不行的,你看看到这样的错误./test_function_values.go:8:3: (func literal)() used as value,这里面有两个问题:
我们尝试修复一下这个问题,我们做了以下修改:
再次运行,有以下显著变化:
既然能赋值给变量,也能在map中使用,在下面的例子中,我们就将函数体赋值给map中的值,我们来分析下面的例子:
对于输出结果,我们有以下结论:
由于函数可以作为值,所以很容易作为参数传给函数。这里来看一个简单的示例:
我们来分析一下上面的代码
前言:go语言函数参数为值拷贝(指针参数为指针拷贝)。
在go语言中,函数也作为一种数据类型,所以函数也可以作为函数的参数来使用。
其中slice是为地址数组指针的拷贝⚠️,持续更新中 ....