一、第一章
-
命令行参数可通过os.Args访问,os.Args是切片
切片遵循左闭右开原则,如sl[1:3]不包含下标为3的元素 -
for循环两种方式
方式一:
for initial; condition; post {
}
三部分中任一部分都可以省略
方式二:
for idx, val := range os.Args[1:] {
} -
字符串连接
var s string = "a" + "b"
strings.Join([]string{"a", "b"}, " ")
后者性能更优: https://www.cnblogs.com/promenader/p/10098694.html
strings.Split("ab cd ed", " ") 把字符串分割成子串的切片,与strings.Join功能相反。 -
map初始值
如果map中不包含某个key时,map[key] 将被计算为其类型的零值。
如m := make(map[string]int),如m中不包含"aa",那么m["aa"] 为0
注:make方式创建的map,返回的是map的引用,作为参数传递给函数时,函数内部对map的修改,在函数退出后可见 -
ioutil.ReadFile
一次性返回整个文件内容,函数返回值是[]byte