Go语言学习-- No.11结构体--结构体内嵌
结构体内嵌
- 结构体内嵌
- 结构体内嵌的初始化
结构体内嵌
Go语言的结构体内嵌是一种组合特性,使用结构体内嵌可构建一种面向对象编程思想中的继承关系。 结构体实例化后,可直接访问内嵌结构体的所有成员变量和方法。
使用格式:
type 结构体名1 struct {成员变量1 类型1成员变量2 类型2
}type 结构体名2 struct {结构体名1成员变量3 类型3
}
举例:
package mainimport "fmt"type Book struct {title stringauthor stringnum intid int
}type BookBorrow struct {BookborrowTime string
}type BookNotBorrow struct {BookreadTime string
}func main() {bookBorrow := &BookBorrow{}bookNotBorrow := &BookNotBorrow{}fmt.Println(bookBorrow)fmt.Println(bookNotBorrow)
}
结构体内嵌的初始化
使用结构体的键值完成初始化操作:
package mainimport "fmt"type Book struct {title stringauthor stringnum intid int
}type BookBorrow struct {BookborrowTime string
}type BookNotBorrow struct {BookreadTime string
}func main() {bookBorrow := &BookBorrow{ // 键值初试化Book: Book{title: "golang", author: "Tom",num: 20, id: 123456,},borrowTime: "2022.01.02",}bookNotBorrow := &BookNotBorrow{ // 列表初始化Book: Book{"python","Jan",10,654321,},readTime: "2022.01.03",}fmt.Println(bookBorrow)fmt.Println(bookNotBorrow)
}
当然可以使用 结构体实例化名.成员变量 = 值 的形式完成初始化。
package mainimport "fmt"type Book struct {title stringauthor stringnum intid int
}type BookBorrow struct {BookborrowTime string
}type BookNotBorrow struct {BookreadTime string
}func main() {bookBorrow := &BookBorrow{ // 键值初试化Book: Book{title: "golang", author: "Tom",num: 20, id: 123456,},borrowTime: "2022.01.02",}// bookNotBorrow := &BookNotBorrow{ // 列表初始化// Book: Book{"python",// "Jan",// 10,// 654321,// },// readTime: "2022.01.03",// }bookNotBorrow := &BookNotBorrow{} // 使用结构体属性完成初始化操作bookNotBorrow.Book.title = "c++"bookNotBorrow.Book.author = "peter"bookNotBorrow.Book.num = 50bookNotBorrow.Book.id = 789456bookNotBorrow.readTime = "2022.01.04"fmt.Println(bookBorrow)fmt.Println(bookNotBorrow)
}
Go语言学习-- No.11结构体--结构体内嵌相关推荐
- C语言学习(九)之结构体
文章目录 一.结构体基础 1.1 什么是结构体 1.2 建立结构声明 1.3 定义结构变量 1.4 初始化结构 1.5 访问结构成员 1.6 结构的初始化器 二.结构数组 2.1 声明结构数组 三.嵌 ...
- 2020.1.13 C语言学习 结构体+结构体数组+结构体指针
结构体 结构体的形式 struct 结构体名称 { 结构体成员1; 结构体成员2; - }; 例如: 图书的结构体 struct Book {char title[128];char author[4 ...
- 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...
- C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例
C++ 基础入门 之 结构体/结构体定义和使用/结构体数组/结构体指针/ 结构体嵌套结构体/结构体做函数参数/结构体中 const 使用场景/结构体案例 目录 一.简单介绍 二.结构体定义和使用 三. ...
- C++结构体 结构体定义和使用、结构体数组、结构体指针、结构体嵌套结构体、结构体做函数参数
C++结构体 第二章 C++结构体 1.结构体定义和使用 语法:struct 结构体名 { 结构体成员列表 }: 通过结构体创建变量的方式有三种: struct 结构体名 变量名 struct 结构体 ...
- C语言学习笔记11-结构体(struct、结构作为函数参数、结构数组)、联合体/共用体typedef; union(大、小端序)
C语言-结构类型 程序中的数据都需要有类型支撑,当数据很复杂时(不是简单的一个值,如时间信息:年月日时分秒6个数据需要作为一个整体),我们需要声明一个新的结构类型来描述这种复合的数据(可以包含很多不同 ...
- go struct 静态函数_Go语言学习笔记(四)结构体struct 接口Interface 反射reflect...
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
- c语言动态生成结构体结构,C语言实现动态结构体数组
C语言实现动态结构体数组 原因是因为以前使用C++来实现的,主要用VERCTOR C++标准库的失代器 而不是纯C:C++是C语言的超集,除了包含C外,还有C++各种新语法,新库! 不过虽然C++用起 ...
- 【C 语言】文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )
文章目录 一.学生管理系统 二.代码示例 一.学生管理系统 前两篇博客 [C 语言]文件操作 ( 将结构体写出到文件中并读取结构体数据 | 将结构体数组写出到文件中并读取结构体数组数据 ) [C 语言 ...
最新文章
- 火山小视频尼尔森:2019新线消费市场人群洞察报告(附下载)
- 功率曲线k值_特性曲线在参数计算中的应用
- 【福利】PyTorch中文版官方教程来啦(附下载)
- 浅谈Delphi过程与函数03 - 零基础入门学习Delphi22
- Java——删除文件
- 东电计算机专业好就业吗,东北电力大学就业前景怎样好不好
- python-提取特征 特征选择
- iOS测试工程师如何用xcode进行性能测试
- 洗地扫地机一体机好用吗、洗扫一体洗地机选购必看
- SECTION 11 安装软件程序
- 多益网络2015校园招聘第二次笔试题
- webpack打包图片资源问题
- excel报错无法粘贴信息,原因复制区域跟粘贴区域形状不同
- Quantopian 入门系列二 - 流水线 (上)
- Ruff Chain 荣获”2018年度最具发展潜力项目“奖
- Spring工作原理。原理就是这么简单
- Windows畸形文件夹
- [系统安全] 二十二.PE数字签名之(下)微软证书漏洞CVE-2020-0601复现及Windows验证机制分析
- 聊聊小程序的登录逻辑
- python 学术文献下载_PyHubWeekly | 第二十六期:一款开源免费的学术论文下载工具...