戈朗匿名结构和字段
原文:https://www . geesforgeks . org/anonymous-structure-and-field-in-golang/
Golang 中的结构或 struct 是用户定义的类型,它允许我们将一组不同类型的元素创建成一个单元。任何具有一组属性或字段的现实实体都可以表示为一个结构。
匿名结构
在 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
}
要点:
-
In a structure, you are not allowed to create two or more fields of the same type as shown below:
```go type student struct{ int int }
```
如果你试图这样做,那么编译器会给出一个错误。
- You are allowed to combine the anonymous fields with the named fields as shown below:
```go type student struct{ name int price int string }
```
让我们借助一个例子来讨论匿名字段的概念:
示例:
```go // 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) } ```
输出:
```go Enrollment number : 123 Student name : Bud Package price : 8900.23
```
版权属于:月萌API www.moonapi.com,转载请注明出处