5.3 Go 匿名函数

Go支持匿名函数,顾名思义就是没名字的函数。

匿名函数一般用在,函数只运行一次,也可以多次调用。

匿名函数可以像普通变量一样被调用。

匿名函数由不带函数名字的函数声明函数体组成。

package main

import "fmt"

func main() {
//定义匿名函数,接收2个参数n1,n2,返回值int
res := func(n1, n2 int) int {
return n1 * n2
}(10, 20) //匿名函数在此处调用,传参
fmt.Println("res=", res)
}

匿名函数赋值给变量

局部变量

package main

import "fmt"

func main() {
//局部变量n1
n1 := func(a, b int) int {
return a * b
}
fmt.Printf("n1的类型:%T\n", n1)
res := n1(10, 10)
fmt.Println("res调用结果:", res)
}

全局变量

package main

import "fmt"
//f1就是全局匿名函数
var (
f1 = func(n1, n2 int) int {
return n1 * n2
}
) func test() int {
return f1(10, 10)
}
func main() {
res := f1(20, 20)
fmt.Printf("res结果:%d\n", res) res2 := test()
fmt.Printf("res2结果:%d\n", res2)
}

最新文章

  1. slave IO流程之一:mysql登陆过程(mysql_real_connect)
  2. .NET/android/java/iOS AES通用加密解密(修正安卓)
  3. 【linux命令与工具】lsmod命令
  4. Day05_JAVA语言基础第五天
  5. 【CentOs】sudo使用
  6. python实现简单kNN
  7. HDU 4607 Park Visit (DP最长链)
  8. 【原】计算机Tools vs 学习资料
  9. HDU 5948 Thickest Burger 【模拟】 (2016ACM/ICPC亚洲区沈阳站)
  10. 介绍 JSON
  11. 01_Linux软件源配置
  12. Nginx try_files 指令
  13. Premiere Pro 中的键盘快捷键
  14. docker开启远程访问
  15. Java之框架Spring(一)
  16. Windows 常用的 CMD 命令
  17. Filter需要配置多个url-pattern
  18. 奇怪吸引子---FourWing
  19. springboot-30-security(三)使用注解实现权限控制
  20. [na]mail收发过程

热门文章

  1. PHP Ajax 跨域问题解决方案
  2. 我们常听到的WAL到底是什么
  3. 2019-2020-1 20199308《Linux内核原理与分析》第三周作业
  4. Libra白皮书解读
  5. Struts2漏洞利用
  6. 【Linux常见命令】xargs命令
  7. Javascript中的string类型使用UTF-16编码
  8. ES6特性之:参数默认值
  9. 截取nginx日志
  10. Python编程求解第1天1分钱之后每天两倍持续一个月的等比数列问题