數組和切片組合字面值中下標規則
- 數組和切片組合字面值中的下標必須爲整數常量
- 在一個數組或切片組合字面值中,如果一個元素的索引下標缺失,則編譯器認爲它的索引下標爲出現在它之前的元素的索引下標加一
package main
import "fmt"
var x = []int{2: 5, 6, 0: 7}
func main() {
fmt.Println(x) // [7 0 5 6]
}
容器組合字面值中鍵值或者下標規則
- 一個容器組合字面值中的常量鍵值(包括索引下標)不可重複
- 此規則可以被用來實現編譯時刻斷言
const S1 = "Hello world"
const S2 = ""
var _ = map[bool]int{false: 0, len(S1) != 0: 1}
var _ = map[bool]int{false: 0, len(S2) != 0: 1} // 編譯報錯
[Sp|Fp|P]rintf函數支持位置參數
package main
import "fmt"
func main() {
// 將打印出:coco
fmt.Printf("%[2]v%[1]v%[2]v%[1]v", "o", "c")
}
打印函數中,百分號後面的方括號中的數字,代表的意思爲後面的第幾個變量,這樣可以再多次重複打印變量時可以減少代碼內容