结构体中的匿名字段

    科技2022-07-10  146

    结构体中的匿名字段

    前言

    今天在学习golang的结构体时发现一个很有意思的东西---------结构体中的匿名字段,这一篇就简单介绍一下golang中结构体的匿名字段

    普通的结构体

    结构体我们并不陌生,以下是一个简单的结构体案例:

    type student struct { id int64 name string }

    这是在golang中声明结构体的简单案例,至于其中的用法我就不在这里赘述了,我们接下来看一下结构体的匿名字段的声明以及用法

    匿名字段

    首先简单的说一下什么是匿名字段:在前面学习过匿名函数,其实简单的来说就是一个没有名字的函数,而匿名字段其实也就是一个没有名字的字段。以下是一个声明结构体匿名字段的案例:

    type person struct { string int }

    在结构体中声明匿名字段只需要指定该字段的类型,而他的调用方法也只需要指定该字段的类型,如下:

    p1:=person{ "王五", 999, } fmt.Println(p1) fmt.Println(p1.string)

    他的运行结果如下:

    {王五 999} 王五

    注意

    Ssßß在结构体中,匿名字段只能声明不同类型的字段,不能有两个一样类型的字段它只适用于字段比较少的结构体,以及一些比较简单的场景并不常用
    Processed: 0.050, SQL: 8