Go語言小細節——內置類型鍵值或下標規則

數組和切片組合字面值中下標規則

  • 數組和切片組合字面值中的下標必須爲整數常量
  • 在一個數組或切片組合字面值中,如果一個元素的索引下標缺失,則編譯器認爲它的索引下標爲出現在它之前的元素的索引下標加一
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")
}

打印函數中,百分號後面的方括號中的數字,代表的意思爲後面的第幾個變量,這樣可以再多次重複打印變量時可以減少代碼內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章