go-关键字
常见关键字
| 关键字 | 作用 |
|---|---|
var | 定义变量 |
const | 定义常量 |
type | 定义类型 |
struct | 定义结构体 |
interface | 定义接口 |
func | 定义函数 / 方法 |
package | 声明当前包 |
import | 导入包 |
return | 返回结果 |
if | 条件判断 |
else | 条件分支 |
for | 循环 |
range | 遍历数组、切片、map、channel 等 |
switch | 多条件判断 |
case | switch/select 的分支 |
default | 默认分支 |
go | 启动 goroutine |
chan | 声明 channel 类型 |
select | 监听多个 channel |
defer | 延迟执行 |
break | 跳出循环 / switch |
continue | 跳过当前循环 |
goto | 跳转到指定标签 |
fallthrough | switch 强制继续执行下一个 case |
map | 定义 map 类型 |
defer
- 延迟执行
- 把一个函数调用延迟到当前函数结束前执行。
- 作用:它主要用于各种资源释放 / 清理操作。
注意
defer是函数结束时执行,不是代码块结束时执行
func test() {
fmt.Println("1")
defer fmt.Println("2")
fmt.Println("3")
}
// 输出 1 => 3 => 2