本文概述
在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