Golang中的结构是用户定义的类型,它允许我们在一个单元中创建一组不同类型的元素。任何具有一组属性或字段的真实实体都可以表示为结构。
在Go语言中,允许您创建匿名结构。匿名结构是不包含名称的结构。当您要创建一次性可用结构时,它很有用。您可以使用以下语法创建匿名结构:
variable_name := struct{
// fields
}{// Field_values}
让我们借助示例来讨论这个概念:
//匿名结构的概念
package main
import "fmt"
func main() {
// 创建和初始化匿名结构
Element := struct {
name string
branch string
language string
Particles int
}{
name: "詹三",
branch: "开发部",
language: "C++",
Particles: 498,
}
//显示匿名结构
fmt.Println(Element)
}
输出:
{詹三 开发部 C++ 498}
在Go结构中,允许创建匿名字段。匿名字段是那些不包含任何名称的字段,你只需要提到字段的类型,然后Go就会自动使用该类型作为字段的名称。您可以使用以下语法创建结构的匿名字段:
type struct_name struct{
int
bool
float64
}
重要事项:
在结构中,不允许创建两个或多个相同类型的字段,如下所示:
type student struct{
int
int
}
如果尝试这样做,则编译器将抛出错误。
允许将匿名字段与命名字段组合,如下所示:
type student struct{
name int
price int
string
}
让我们借助一个示例来讨论匿名字段概念:
package main
import "fmt"
//创建一个结构匿名字段
type student struct {
int
string
float64
}
// Main function
func main() {
// 将值分配给匿名,学生结构的字段
value := student{123, "Bud", 8900.23}
fmt.Println("入学人数 : ", value.int)
fmt.Println("学生姓名 : ", value.string)
fmt.Println("套餐价格 : ", value.float64)
}
输出:
入学人数 : 123
学生姓名 : Bud
套餐价格 : 8900.23