go语言结构体

  • 声明结构体

    type  结构体名称 struct{
        属性名  属性类型
        属性名1 属性类型
        属性名2 属性类型
        属性名3 属性类型
    }
    
  • 定义的方法和结构体进行绑定

    // 声明结构体
    type Profile struct{
        name string
        age int
    }
    
    // 声明方法和结构体绑定 和普通函数有点区别
    func(profile Profile) FmtProfile(){
        fmt.Printf("name:%s\n",profile.name)
    }
    
    // 将age+1操作
    func(profile *Profile) increase_age(){
        profile.age += 1
    }
    
    // 主方法
    func main(){
        // 实例化
        person := Profile{name:"小明",age:25}
        // 调用FmtProfile方法
        person.FmtProfile()
        // 年龄+1
        person.increase_age()
    }
    
  • 结构体实现继承

    // 声明结构体
    
    // 公司
    type Company struct{
        name string
        addr string
    }
    
    // 个人介绍
    type Profile struct{
        name string
        age int
        mother *Profile
        company Company // 实现`继承`
    }
    
    // 声明方法和结构体绑定 和普通函数有点区别
    func(profile Profile) FmtProfile(){
        fmt.Printf("名称为:%s\n",profile.name)
        fmt.Printf("公司名称:%s\n",profile.company.name)
        fmt.Printf("公司地址:%s\n",profile.company.addr)
    }
    
    
    // 主方法
    func main(){
        // 实例化公司
        company := Company{name:"趣味指数",addr:"北京市朝阳区"}
        // 实例化
        person := Profile{name:"小明",age:25,company:company}
        // 调用FmtProfile方法
        person.FmtProfile()
    }
    
posted @ 2021-02-14 17:27  巫小诗  阅读(94)  评论(0编辑  收藏  举报