入门
goimports可以按需管理导入声明的插入和移除。它不是标准发布版的一部分,可以通过执行下面的命令获取到:(P2最下面倒数第二行)
$ go get golang.org/xtools/cmd/goimports
在Go中,所有的索引使用半开区间,即包含第一个索引,不包含最后一个索引,因为这样逻辑比较简单。P3 习惯上,在一个包声明前,使用注释对其进行描述。P3
for的几种形式 P4
for initialization; condition; post{
}
for condition {
}
for {
}
for _, arg := range 切片{
}
使用显式的初始化来说明初始化变量的重要性,使用隐式的初始化来表明初始化变量不重要。P5 字符串相加高性能版,使用strings包中的Join函数。P6
package main
import (
"fmt"
"os"
"strings"
)
func main() {
fmt.Println(strings.Join(os.Args[1 :], " " ))
}
包
第2章
关键字、内置的预声明的常量、类型和函数 P20
:= 表示声明,而 = 表示赋值。一个多变量的声明不能和多重赋值搞混,后者将右边的值赋给对应的变量:P23
i, j = j, i
package main
import "fmt"
func main() {
i, j := 1 , 2
fmt.Printf("原 i = %v j = %v\n" , i, j)
i, j = j, i
fmt.Printf("变 i = %v j = %v" , i, j)
}
每一次变量逃逸都需要一次额外的内存分配过程。 P27