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 @   巫小诗  阅读(95)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2020-02-14 浅谈jwt在python中的使用
点击右上角即可分享
微信分享提示