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.mzph.cn/news/50744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

01.Django入门

1.创建项目 1.1基于终端创建Django项目 打开终端进入文件路径(打算将项目放在哪个目录,就进入哪个目录) E:\learning\python\Django 执行命令创建项目 F:\Anaconda3\envs\pythonWeb\Scripts\django-admin.exe(Django-admin.exe所…

微信支付-使用微信JSSDK完成微信支付

前言 使用微信JSSDK完成微信支付 一、安装weixin-js-sdk npm install weixin-js-sdk二、引入 var jweixin require(jweixin-module);三、使用 调用接口 一般调用成功会返回debug,appId,timestamp,nonceStr,signature等参数注…

RK3588平台开发系列讲解(AI 篇)RKNN-Toolkit2 API 介绍

文章目录 一、RKNN 初始化及对象释放二、RKNN 模型配置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解 RKNN-Toolkit2 API 详细说明。 一、RKNN 初始化及对象释放 在使用 RKNN Toolkit2 的所有 API 接口时,都需要先调用 RKNN()方法初始化 RKNN 对象,…

HAProxy 调度算法介绍

HAProxy 调度算法介绍 HAProxy 的调度算法比较多,在没有设置 mode 或者其它选项时,HAProxy 默认对 后端服务器使用 roundrobin 算法来分配请求处理。对后端服务器指明使用的算法 时使用balance关键字,该关键字可在listen和backend中出现。在…

使用Nodejs搭建简单的HTTP服务器 - 内网穿透公网远程访问

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址🍀小结🍀 🎉博客主页:小智_x0___0x_ 🎉欢迎关注:&…

“车-路-网”电动汽车充电负荷时空分布预测(matlab)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考《基于动态交通信息的电动汽车充电负荷时空分布预测》和《基于动态交通信息的电动汽车充电需求预测模型及其对配网的影响分析》文献模型,考虑私家车、出租车和共用车三类交通工具特性和…

Python支持下最新Noah-MP陆面模式站点、区域模拟及可视化分析技术

查看原文>>> Python支持下最新Noah-MP陆面模式站点、区域模拟及可视化分析技术 熟悉陆表过程的主要研究内容以及陆面模型在生态水文研究中的地位和作用;深入理解Noah-MP 5.0模型的原理,掌握Noah-MP模型(2023年最新发布的5.0版本&am…

Android 查看签名文件的MD5 SHA1值

1.找到存放签名文件所在的文件夹 2.输入命令:keytool -list -v -keystore atui.jks 3.输入口令(keystore.jks签名文件的密码)

牛客网 读取写入数据

牛客网写题与leetcode不同,并没有给输入的数据,而是需要自己从控制台地区并格式化 import sys if __name__ "__main__":# 读取一个数n int(sys.stdin.readline().strip())# 读取一个整型的列表,输入时是以字符串的形式输入的&am…

Linux管理SpringBoot应用shell脚本实现

Liunx系统如何部署和管理SpringBoot项目应用呢?最简单的方法就是写个shell脚本。 Spring Boot是Java的一个流行框架,用于开发企业级应用程序。下面我们将学习如何在Linux服务器上部署Spring Boot应用,并通过一个脚本实现启动、停止、重启等操…

U盘被分成了4个盘要怎么合并

原来是做为系统盘的,然后有一大概小半年没用,今天一看它自己分成了四个盘。 并且我一插入电脑就提示我格式化 其实根本不需要任何工具,操作前最好把U盘数据备份一下 首先把你的U盘插在电脑上 方法一 U盘被分成四个分区的原因有以下几种可…

第二届人工智能与智能信息处理技术国际学术会议(AIIIP 2023)

第二届人工智能与智能信息处理技术国际学术会议(AIIIP 2023) 2023 2nd International Conference on Artificial Intelligence and Intelligent Information Processing 第二届人工智能与智能信息处理技术国际学术会议(AIIIP 2023&#xf…

Seaborn数据可视化(二)

目录 1.Seaborn风格设置 1.1 主题设置 1.2 轴线设置 1.3 移除轴线 1.4 使用字典传递函数 2.设置绘图元素比例 2.1 设置绘图元素比例paper 2.2 设置绘图元素比例poster 2.3 设置绘图元素比例notebook Seaborn将Matplotlib的参数划分为两个独立的组合,第一组用于…

【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

文章目录 AXI STRB 信号 AXI STRB 信号 AXI总线是ARM公司设计的高性能处理器接口,其中STRB和DATA信号在AXI协议中有特殊的含义和关系。 DATA信号:在AXI中,DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化&…

Ros noetic Move_base 相关状态位置的获取 实战使用教程

前言: 有一段时间没有更新,这篇文章是为了后续MPC路径跟踪算法开设的帖子用于更新我自己的思路,由于MPC算法,要镶嵌到整个导航任务中去,就绕不开这个move_base包中相关的参数设置和其中相关状态位置的获取和解读等等。 因为最近遇到小车在其他的环境中有些时候,不需要自己…

HTTP与RPC的取舍

HTTP与RPC的取舍 HTTP和RPC都是常用的网络通信协议,它们各有优劣。选择何种协议,主要取决于应用的需求和场景。 HTTP和RPC都有各自的优点和缺点,首先我们对两种协议进行一个总结。 HTTP协议图 HTTP的优点: 广泛的支持&#xff1…

Unity 之 Transform.Translate 实现局部坐标系中进行平移操作的方法

文章目录 Translate 默认使用局部坐标也可以转换成世界坐标 Translate 默认使用局部坐标 在Unity中,Transform.Translate是用于在游戏对象的局部坐标系中进行平移操作的方法。这意味着它将游戏对象沿着其自身的轴进行移动,而不是世界坐标轴。这在实现物…

leetcode 118.杨辉三角

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;https://leetcode.cn/problems/pascals-triangle/description/ 代码&#xff1a; class Solution { public:vector<vector<int>> generate(int numRows) {// 先开空间vector<vector<int>> v;v.…

curl命令打印各阶段耗时情况

curl命令打印各阶段耗时情况 在使用curl命令时打印各阶段的耗时情况&#xff0c;需要使用curl命令的-w选项&#xff0c;并指定输出格式。 curl -w "总时间: %{time_total}s\n名称解析时间: %{time_namelookup}s\n连接时间: %{time_connect}s\nTLS握手时间: %{time_appcon…

C++图形界面编程-MFC

C控制台程序是命令行黑框&#xff0c;如果要写一个图形界面&#xff0c;VS也提供了图形界面编程MFC。建项目的时候选如下选项&#xff1a; 类似于QT。 问&#xff1a;那么MFC项目的运行入口main()或WinMain()在哪里呢&#xff1f; 答&#xff1a;其实&#xff0c;在MFC应用程…