📅  最后修改于: 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