当前位置: 首页 > 工具软件 > Hero-Go > 使用案例 >

golang快速入门-14-golang的类-基于结构体实现

唐照
2023-12-01

现在版本的golang中没有class关键字。golang沿用了标准c对类的模拟,或者c++编译器中对OOP的实现:基于结构体struct实现了类的机制。

package main
import "fmt"


//如果类名首字母大写,表示其他包也能够访问
type Hero struct 
{
    //如果说类的属性首字母大写, 表示该属性是对外能够访问的,否则的话只能够类的内部访问
    Name  string
    Ad    int
    level int
}

// hero.Show()方法 func (this *Hero) Show() { fmt.Println("Name = ", this.Name) fmt.Println("Ad = ", this.Ad) fmt.Println("Level = ", this.level) }
// hero.GetName()方法 func (this *Hero) GetName() string { return this.Name } // 此处必须带*号,否则就是传拷贝,不仅不能修改,而且造成性能问题 func (this *Hero) SetName(newName string) { //this 是调用该方法的对象的一个副本(拷贝) this.Name = newName } func main() { //创建一个对象 hero := Hero{Name: "zhang3", Ad: 100} hero.Show() hero.SetName("li4") hero.Show() }
 类似资料: