在golang里面没有“类”的概念,也没有“类”的语法。但是却提供了一套类似“类”的使用技巧。
类定义
我们以Java的类对比,下面是一个Java的类定义:
class Demo{
public String Name;
public Integer Age;
public Demo(String Name, Integer Age){
this.Name = Name;
this.Age = Age;
}
public String GetName(){
return Name;
}
public String GetAge(){
return Age;
}
}在Golang里面就没有class,所以下面是一个Golang的“类”定义:
type Demo struct {
Name string
Age int
}
fun (d Demo) GetName() string{
return d.Name
}
fun (d Demo) GetAge() int{
return d.Age
}可以看出在Golang里面的“类”就是一个结构(struct)和两个绑定的函数,而且它还没有构造函数和析构函数。
类使用
在Java里面使用new关键字对类进行实例化,示例如下:
Demo demo = new Demo("福哥", 35);
demo.GetName();
demo.GetAge();在Golang里面直接实例化“类”对应的结构,示例如下:
demo := Demo{"福哥", 35}
demo.GetName()
demo.GetAge()