go语言基础之基匿名函数本语法和闭包
2024-08-23 03:49:49
一、匿名函数
示例1:
package main import "fmt" func main() {
a := 10
str := "mike" //匿名函数,没有函数名字, 函数定义,还没有调用
f1 := func() { //:= 自动推导类型
fmt.Println("a = ", a)
fmt.Println("str = ", str)
} f1() //给一个函数类型起别名
type FuncType func() //函数没有参数,没有返回值 //声明变量
var f2 FuncType
f2 = f1
f2()
}
执行结果:
a = 10
str = mike
a = 10
str = mike
示例2: 定义匿名函数,同时调用
package main import "fmt" func main() {
a := 10
str := "mike" //定义匿名函数,同时调用
func() {
fmt.Printf("a = %d, str = %s\n", a, str)
}() //后面的()代表调用此匿名函数
}
执行结果:
a = 10, str = mike
示例3: 带参数的匿名函数
package main import "fmt" func main() {
a := 10
str := "mike" //带参数的匿名函数
f3 := func(i, j int) {
fmt.Printf("i = %d, j = %d\n", i, j)
}
f3(1, 2)
}
执行结果:
i = 1, j = 2
示例4: 定义匿名函数,同时调用
package main import "fmt" func main() { //定义匿名函数,同时调用
func(i, j int) {
fmt.Printf("i = %d, j = %d\n", i, j)
}(10, 20)
}
执行结果:
i = 10, j = 20
示例5: 匿名函数,有参有返回值
package main import "fmt" func main() {
//匿名函数,有参有返回值
x, y := func(i, j int) (max, min int) {
if i > j {
max = i
min = j
} else {
max = j
min = i
} return
}(10, 20) fmt.Printf("x = %d, y = %d\n", x, y) }
执行结果:
x = 20, y = 10
最新文章
- 编译android源码官方教程(2)建立编译环境「linux &; mac osx」
- 【原创】Sliding Window Maximum 解法分析
- Java 链式编程
- 常用ajax请求
- ubuntu 安装 maven3.2
- JTree事件
- Spring中的注解@Service @Component @Controller @Repository区别
- 【NIFI】 Apache NiFI 使用技巧
- Spark集群搭建【Spark+Hadoop+Scala+Zookeeper】
- 微信和WeChat合并月活跃数达8.89亿,移动支付月活跃账户超过6亿
- cxGrid之checkbox小结
- jquery 图片文件转base64 显示
- 配置动态加载模块和js分模块打包,生产环境和开发环境公共常量配置
- Linux内存管理-高端内存(二)
- 【BZOJ2727】双十字(动态规划,树状数组)
- 揭晓UX(用户体验)最大的秘密
- s5_day11作业
- vi下的查找替换命令
- 【LeetCode】LeetCode——第14题:Longest Common Prefix
- Docker | 第零章:前言
热门文章
- 一次压力测试Loadrunner经验分享
- Good Bye 2015 F - New Year and Cleaning
- bzoj 1106
- 第七章:Mapping插件
- 【JavaWeb开发】初步实现网站应用钉钉扫码登录
- 牛客网 牛客练习赛43 F.Tachibana Kanade Loves Game-容斥(二进制枚举)+读入挂
- springMVC+freemarker实现自定义标签
- 更改paramiko 源码 记录命令实现堡垒机功能
- FastReport.Net使用:[16]图片控件使用
- HDU 6194【后缀数组】