Go语言自学系列 | golang嵌套结构体

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言自学系列 | golang嵌套结构体相关的知识,希望对你有一定的参考价值。

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


go语言没有面向对象编程思想,也没有继承关系,但是可以通过结构体嵌套来实现这种效果。

下面通过实例演示如何实现结构体嵌套,假如有一个人Person结构体,这个人还养了一个宠物Dog结构体

下面我们来看一下:

Dog结构体

type Dog struct 
    name  string
    color string
    age   int

Person结构体

type person struct 
    dog  Dog
    name string
    age  int

访问它们

package main

import "fmt"

type Dog struct 
    name  string
    color string
    age   int


type person struct 
    dog  Dog
    name string
    age  int


func main() 
    var tom person
    tom.dog.name = "花花"
    tom.dog.color = "黑白花"
    tom.dog.age = 2

    tom.name = "tom"
    tom.age = 20

    fmt.Printf("tom: %v\\n", tom)

运行结果

[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
tom: 花花 黑白花 2 tom 20

以上是关于Go语言自学系列 | golang嵌套结构体的主要内容,如果未能解决你的问题,请参考以下文章

Go语言自学系列 | golang结构体的初始化

Go语言自学系列 | golang结构体作为函数参数

Go语言自学系列 | golang中嵌套if语句

Go语言自学系列 | golang类型定义和类型别名

Go语言自学系列 | golang方法接收者类型

golang中级进阶(二):结构体