golang----结构体
1、继承的赋值【同一个包下】
//1.定义父类 type Person struct { name string age int } //2定义子类 type Student struct { Person //模拟继承结构 school string //子类的新增属性 }
s1.Person.name ---> s1.name
Student 类中将 Perosn 作为一个匿名字段
student 对象直接访问 person 中的字段
1、赋值
方法一:
p1 := Person{name : "张三", age: 30}
var s1 Student
s1.name = "里斯" //子类对象直接访问父类的属性,提升字段
s1.age = 18 //子类访问父类的属性,提升字段
s1.school = "北京大学" //子类访问自己新增的属性
方法二:
s2 := Student{Person{"王五", 17}, "清华大学"} // 注意顺序
方法三:
s3 := Student{Person: Person{name: "rose", age: 19}, school: "新东方"}
2、继承的赋值【不同的包下】
1 父类
package mytest
type Person struct { Name string Age int }
2 子类
package main
type Student struct { mytest.Person school string }
方法一:
student := Student{mytest.Person{"王五", 12}, "hzkjdx"}
fmt.Printf("%+v\n", student)
return
方法二:
student := Student{Person: mytest.Person{Name: "王五", Age: 12}, school: "hzkjdx"}
fmt.Printf("%+v\n", student)
return

浙公网安备 33010602011771号