第一章
https://golang-china.github.io/gopl-zh/ch1/ch1-01.html
1.1
go run 和 go build
因为go是静态编译,所以不用担心在系统库更新的时候冲突,幸福感满满。
可以从 gopl.io 网站上下载源码
执行 go get gopl.io/ch1/helloworld 命令,就会从网上获取代码,并放到对应目录中(需要VCS)
包
一个包(package)由位于单个目录下的一个或多个 .go 源代码文件组成。
Go 的标准库提供了 100 多个包
main 是特殊包,定义了一个独立的可执行程序,而不是库。
Go 语言编译过程没有警告信息,多了、少了包都会报错。
换行符添加的位置会影响 Go 代码的正确解析
1.2
计算机:输入 -> 程序处理 -> 输出
os.Args 是 sring[] 的 slice。
go
package main
import (
"fmt"
"os"
)
func main() {
var s, sep string
for i := 1; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Println(s)
}符号 := 是 短变量声明(short variable declaration)的一部分,可以简单的理解为自动推断类型。