当前位置: 首页 > news >正文

golang的继承

golang中并没有继承以及oop,但是我们可以通过struct嵌套来完成这个操作。

  1. 定义struct
    以下定义了一个Person结构体,这个结构体有Eat方法以及三个属性
type Person struct {Name  stringAge   uint16Phone string
}func (recv *Person) Eat() {fmt.Printf("recv.Name: %v 正在吃饭\n", recv.Name)
}
  1. 定义嵌套struct
type Chinese struct {PersonDangYuan bool
}func (recv *Chinese) Jubao() {if recv.DangYuan == true {fmt.Printf("\"你可以举报\": %v\n", "你可以举报")} else {fmt.Printf("\"你不可以举报\": %v\n", "你不可以举报")}
}

如上,Chinese嵌套了Person,所以Chinese也有Person的属性,以及方法
3. main.go

package mainimport "fmt"type Person struct {Name  stringAge   uint16Phone string
}func (recv *Person) Eat() {fmt.Printf("recv.Name: %v 正在吃饭\n", recv.Name)
}type Chinese struct {PersonDangYuan bool
}func (recv *Chinese) Jubao() {if recv.DangYuan == true {fmt.Printf("\"你可以举报\": %v\n", "你可以举报")} else {fmt.Printf("\"你不可以举报\": %v\n", "你不可以举报")}
}func main() {chinese := Chinese{Person{Age: 100, Name: "ellis", Phone: "123456789"}, true}chinese.Eat()chinese.Jubao()
}
http://www.lryc.cn/news/139974.html

相关文章:

  • Google Play商店优化排名因素之应用截图与视频
  • fastadmin iis伪静态应用入口文件index.php
  • 0821|C++day1 初步认识C++
  • Linux上实现分片压缩及解压分片zip压缩包 - 及zip、unzip命令详解
  • 概率论作业啊啊啊
  • React re-render
  • 从零开始配置Jenkins与GitLab集成:一步步实现持续集成
  • 高效多用的群集-Haproxy搭建Web集群
  • aws的s3匿名公开访问
  • 2023科隆游戏展:虚幻5游戏百花齐放,云渲染助力虚幻5高速渲染
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-2)
  • Linux 下 Mysql 的使用(Ubuntu20.04)
  • 牛客练习赛114
  • Http与Https
  • 前端通信(渲染、http、缓存、异步、跨域)自用笔记
  • 43.227.198.x怎么检查服务器里是否中毒情况?
  • Sentinel dashboard无法查询到应用的限流配置问题以及解决
  • 【Spring Boot】社交网站中验证用户登录的checkUser方法
  • edge浏览器进行qq截图过保爆决过程
  • 【Linux】Linux在防火墙firewall中开放或删除某端口
  • C++构造函数初始化列表
  • c语言调用mciSendString播放音乐
  • Qt:qRegisterMetaType为Qt信号和槽添加自定义参数类型
  • ffmpeg rtp发送video和audio并播放
  • CSS打字回删效果动画源码
  • Vue全局后置守卫
  • 【Go语言】基于Socket编程的P2P通信程序示例
  • 16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及Elasticsearch示例(2)
  • Java代码优化案例2:使用HashMap代替List进行数据查找
  • 每天一道leetcode:542. 01 矩阵(图论中等广度优先遍历)