Golang 中的结构体或结构体是用户定义的类型,它允许我们将一组不同类型的元素创建为一个单元。任何具有某些属性或字段集的现实世界实体都可以表示为一个结构体。
匿名结构
在 Go 语言中,您可以创建匿名结构。匿名结构是不包含名称的结构。当您想创建一次性可用的结构时,它很有用。您可以使用以下语法创建匿名结构:
variable_name := struct{
// fields
}{// Field_values}
让我们借助一个例子来讨论这个概念:
例子:
// Go program to illustrate the
// concept of anonymous structure
package main
import "fmt"
// Main function
func main() {
// Creating and initializing
// the anonymous structure
Element := struct {
name string
branch string
language string
Particles int
}{
name: "Pikachu",
branch: "ECE",
language: "C++",
Particles: 498,
}
// Display the anonymous structure
fmt.Println(Element)
}
输出:
{Pikachu ECE C++ 498}
匿名字段
在 Go 结构中,您可以创建匿名字段。匿名字段是那些不包含任何名称的字段,您只需提及字段的类型,Go 将自动使用该类型作为字段的名称。您可以使用以下语法创建结构的匿名字段:
type struct_name struct{
int
bool
float64
}
要点:
type student struct{
int
int
}
如果您尝试这样做,那么编译器将给出错误。
type student struct{
name int
price int
string
}
让我们借助一个例子来讨论匿名字段的概念:
例子:
// Go program to illustrate the
// concept of anonymous structure
package main
import "fmt"
// Creating a structure
// with anonymous fields
type student struct {
int
string
float64
}
// Main function
func main() {
// Assigning values to the anonymous
// fields of the student structure
value := student{123, "Bud", 8900.23}
// Display the values of the fields
fmt.Println("Enrollment number : ", value.int)
fmt.Println("Student name : ", value.string)
fmt.Println("Package price : ", value.float64)
}
输出:
Enrollment number : 123
Student name : Bud
Package price : 8900.23