12
考慮到go爲靜態的事實類型化語言,某種動態類型的某些值的含義是什麼?需要澄清關於golang中的動態類型
考慮到go爲靜態的事實類型化語言,某種動態類型的某些值的含義是什麼?需要澄清關於golang中的動態類型
變量的「動態類型」在處理接口值時很重要。 動態類型被定義爲如下(source):
變量的靜態類型(或只是型)是由它的聲明中定義的類型。 接口類型的變量也具有不同的動態類型,這是運行時變量中存儲的值的實際類型。動態類型在執行期間可能會有所不同,但始終可以分配給接口變量的靜態類型。對於非接口類型,動態類型始終是靜態類型。
考慮這個例子:
var someValue interface{} = 2
靜態類型的someValue
是interface{}
但動態類型是int
並可能在未來很 很好的變化。例如:
var someValue interface{} = 2
someValue = "foo"
在上述從int
變爲string
動態類型的someValue
的例子。
+1,這是關鍵點:'對於非接口類型,動態類型始終是靜態類型'。 – tarrsalah