2016-07-27 135 views

回答

5

Go中沒有繼承。
我認爲你正在尋找interfaceGo: What's the meaning of interface{}?

但如果你需要類似於對象(而不是類)的東西,你可以使用interface

接口類型的變量也有一個獨特的動態類型,其中 是運行時分配給該變量的值的具體類型 (除非該值是預先標識的標識符nil,其沒有 類型)。在執行過程中,動態類型可能會有所不同,但存儲在接口變量中的值總是可以分配給變量的靜態類型 變量。

var x interface{} // x is nil and has static type interface{} 
var v *T   // v has value nil, static type *T 
x = 42    // x has value 42 and dynamic type int 
x = v    // x has value (*T)(nil) and dynamic type *T 

和:

接口類型:

的接口類型指定稱爲其界面的方法集。 A 接口類型變量可以使用方法 設置爲接口的任何超集來存儲任何類型的值。這種類型被稱爲 實現的接口。未初始化變量 接口類型的值爲零。

見:http://golang.org/doc/go_spec.html

+2

這是不準確的說去不是OOP語言。它具有(任何用戶定義類型的)對象和方法,而不是繼承。但繼承不是面嚮對象語言的定義屬性 - 請參閱https://en.wikipedia.org/wiki/Object-oriented_programming –

+2

ACK。我總是說Go是面向對象的,但不是基於類的。 – svenwltr

相關問題