怎樣判斷一個變量的類型?

package main

import "fmt"

var container = []string{"zero", "one", "two"}

func main() {
	container := map[int]string{0: "zero", 1: "one", 2: "two"}
	fmt.Printf("The element is %q.\n", container[1])
}

怎樣在打印變量container的元素以前,判斷它的類型呢?code

答案是:使用類型斷言表達式。語法是 x.(T)接口

x就是要判斷類型的變量,x在當下必須是接口類型的。T就是斷言的變量類型。 在Go語言中,interface{}表明空接口。任何類型都是空接口的實現類型。element

value, ok := interface{}(container).([]string)

上面這行代碼,:=右邊,是x.(T):類型斷言表達式的應用。應爲container不是接口類型,須要轉換一下類型。string

斷言表達式的結果賦值給 value和ok兩個變量。class

相關文章
相關標籤/搜索