我们在Golang中有与Java和C#Object相同的东西吗?

时间:2016-07-27 04:16:31

标签: go

在Java和C#中,Object类隐式地是所有已定义类的父类。是否有相似之处?

1 个答案:

答案 0 :(得分:6)

Go中没有继承。
我认为您正在寻找interfaceGo: What's the meaning of interface{}?

但是如果你需要类似于Object(而不是Class)的东西,你可以使用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

和:

接口类型:

  

接口类型指定称为其接口的方法集。一个   接口类型的变量可以使用方法存储任何类型的值   设置是接口的任何超集。据说这种类型   实现界面。未初始化变量的值   接口类型为nil。

请参阅:http://golang.org/doc/go_spec.html