6.824
golang 入门
Go是一门编译型语言,Go语言的工具链将源代码及其依赖转换成计算机的机器指令。
go run [file …]
go build [file …]
go env
golang 的代码通过包组织,一个包由位于同一个目录下的 1-n 个 .go 源代码程序组成。
go 源代码的组成:
- 每个源文件都以一条
package
声明语句开始 - 紧跟着一系列导入(import)的包
- 之后是存储在这个文件里的程序语句
main
包比较特殊。它定义了一个独立可执行的程序,而不是一个库。在main
里的main
函数 也很特殊,它是整个程序执行时的入口。
- go 语言不允许使用无用的局部变量,会导致编译错误
- 空标识符
_
可用于在任何语法需要变量名但程序逻辑不需要的时候,丢弃不需要的循环索引,并保留元素值。
- 空标识符
- go 语言不能导入无关的包,会导致编译错误,
gofmt
可以在保存文件的时候自动去除没有使用到的包
函数
具名函数
匿名函数
1
2
3boo := func(a, b int) (int, int) {
return b, a
}闭包
1
2
3
4
5
6
7
8
9
10
11
12
13func gen() func() int {
a := 1
return func() int {
a++
return a
}
}
func main() {
boo, bar := gen(), gen()
fmt.Println(boo(), boo(), bar(), bar())
}
// 2 3 2 3将 a 变量封装在匿名函数的作用域之内.
defer 关键字
在程序结束的时候,完成一些必要的操作
- Post title:6.824
- Post author:auggie
- Create time:2022-10-17 16:43:02
- Post link:https://ruanjiancheng.github.io/2022/10/17/6-824/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.