📜  GO语言 结构体

📅  最后修改于: 2021-01-02 09:08:34             🧑  作者: Mango

去结构

在Go中,Struct可用于创建用户定义的类型。

结构是一种复合类型,意味着它可以具有不同的属性,并且每个属性可以具有自己的类型和值。

结构可以使用这些属性表示真实世界的实体。我们可以将属性数据作为单个实体访问。它也是值类型,可以使用new()函数构造。

进行结构示例

package main
import (
   "fmt"
)
type person struct {
   firstName string
   lastName  string
   age       int
}
func main() {
   x := person{age: 30, firstName: "John", lastName: "Anderson", }
   fmt.Println(x)
   fmt.Println(x.firstName)
}

输出:

{John Anderson 30}
John

进入嵌入式结构

Struct是一种数据类型,可以用作匿名字段(仅具有该类型)。可以将一个结构插入或“嵌入”到其他结构中。

这是一个简单的“继承”,可用于实现其他类型的实现。

转到嵌入式结构示例

package main
import (
   "fmt"
)
type person struct {
   fname string
   lname string}
type employee struct {
   person
   empId int
}
func (p person) details() {
   fmt.Println(p, " "+" I am a person")
}
func (e employee) details() {
   fmt.Println(e, " "+"I am a employee")
}
func main() {
   p1 := person{"Raj", "Kumar"}
   p1.details()
   e1 := employee{person:person{"John", "Ponting"}, empId: 11}
   e1.details()
}

输出:

{Raj Kumar}   I am a person
{{John Ponting} 11}  I am a employee