package main import "fmt" // 类名和属性名首字母大写即为公有,首字母小写即为本包私有 type Hero struct { Name string Ad int Level int } // func (this Hero) Show() { // fmt.Println("Name = ", this.Name) // fmt.Println("Ad = ", this.Ad) // fmt.Println("Level = ", this.Level) // } // func (this Hero) GetName() string { // fmt.Println("Name = ", this.Name) // return this.Name // } // func (this Hero) SetName(name string) { // this.Name = name // } // 方法名首字母大写即为公有方法,首字母小写即为私有方法 func (this *Hero) Show() { fmt.Println("Name = ", this.Name) fmt.Println("Ad = ", this.Ad) fmt.Println("Level = ", this.Level) } func (this *Hero) GetName() string { fmt.Println("Name = ", this.Name) return this.Name } func (this *Hero) SetName(name string) { this.Name = name } func main() { hero := Hero{Name: "zhang3", Ad: 100, Level: 1} hero.Show() hero.SetName("Aaron") hero.Show() }