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

 

posted @   dogRuning  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示