小健_Python_go_Devops
latest
Go语言学习
1. Go语言基本语法
2. 容器-数据结构
3. 流程控制
4. 函数
4.1. 声明函数
4.2. 匿名函数
4.3. 闭包
4.4. 可变参数
4.5. 延迟执行语句-defer
4.6. 处理运行时错误
4.7. 宕机-panic
4.8. 宕机恢复-recover
4.9. 单元测试
5. 结构体
6. 接口
7. 包
8. 并发
9. 反射
10. 标准库和三方库
11. 项目代码
12. 避坑与技巧
Go vs Python
Python全栈系列
Python测试开发入门与实践
Vue.js企业开发实战
Vue.js+Node.js开发实战
小健_Python_go_Devops
»
Go语言学习
»
4.
函数
Edit on GitHub
4.
函数
¶
4.1. 声明函数
4.1.1. 1.普通函数的声明形式
4.1.2. 2.参数类型的简写
4.1.3. 3.函数的作用域
4.1.4. 4.函数的返回值
4.1 同一种类型返回值
4.2 带有变量名的返回值
4.3 调用函数
4.4 函数变量-把函数作为值保存到变量中
4.5 函数参数
4.6 函数返回值
4.7 多返回值可直接作为其他函数调用实参
4.1.5. 5.递归与回调
4.1.6. 6.字符串的链式处理-操作与数据分离的设计技巧
4.1.7. 7.函数的值传递和指针类型传地址
4.2. 匿名函数
4.2.1. 1.定义一个匿名函数
4.2.2. 2.在定义时调用匿名函数
4.2.3. 3.匿名函数做回调函数
4.2.4. 4.使用匿名函数实现操作封装
4.2.5. 5.函数类型实现接口-把函数作为接口来调用
5.1 结构体实现接口
4.2.6. 6.总结匿名函数的用法
4.2.7. 7.函数体实现接口
4.2.8. 8.Golang匿名函数更多用法
4.2.9. 9.函数是一等公民
4.3. 闭包
4.3.1. 1.在闭包内部修改引用的变量
4.3.2. 2.示例:闭包的记忆效应
4.3.3. 3.示例:闭包实现生成器
4.3.4. 4.示例
4.3.5. 5.延迟求值的示例
4.3.6. 6.返回2个闭包的示例
4.3.7. 7.递归函数
4.4. 可变参数
4.4.1. 1.所有参数都是可变参数 fmt.Println
4.4.2. 2.部分参数是可变参数 fmt.Printf
4.4.3. 3.遍历可变参数,获得每个参数的值
4.4.4. 4.获得可变参数的类型–获得每一个参数的类型
4.4.5. 5.在多个可变参数函数中传递参数
4.5. 延迟执行语句-defer
4.5.1. 1.多个延迟执行语句的处理顺序
4.5.2. 2.使用延迟执行语句,在函数结束时自动释放资源
2.1 使用延迟并发解锁
2.2 使用延迟释放文件句柄
2.3 使用延迟释放网络连接句柄
4.6. 处理运行时错误
4.6.1. 1.net包中的例子
4.6.2. 2.错误接口的定义格式
4.6.3. 3.自定义一个错误
3.1 errors包
3.2 在代码中使用错误定义
3.3 示例:在解析中使用自定义错误
4.7. 宕机-panic
4.7.1. 1.手动触发宕机
4.7.2. 2.在运行依赖的必备资源缺失时主动触发宕机
4.7.3. 3.在宕机时触发延迟执行语句
4.8. 宕机恢复-recover
4.8.1. 1.让程序在崩溃时继续执行
4.8.2. 2. panic和recover的关系
4.9. 单元测试
4.9.1. 1.执行单元测试
4.9.2. 2.标记单元测试