Golang 菜鳥教程

Golang 控制語句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項

Go 匿名結(jié)構(gòu)和字段

Golang中的結(jié)構(gòu)是用戶定義的類型,它允許我們在一個單元中創(chuàng)建一組不同類型的元素。任何具有一組屬性或字段的真實實體都可以表示為結(jié)構(gòu)。

匿名結(jié)構(gòu)

在Go語言中,允許您創(chuàng)建匿名結(jié)構(gòu)。匿名結(jié)構(gòu)是不包含名稱的結(jié)構(gòu)。當(dāng)您要創(chuàng)建一次性可用結(jié)構(gòu)時,它很有用。您可以使用以下語法創(chuàng)建匿名結(jié)構(gòu):

variable_name := struct{
// fields
}{// Field_values}

讓我們借助示例來討論這個概念:

//匿名結(jié)構(gòu)的概念
package main 
  
import "fmt"
  
func main() { 
  
    // 創(chuàng)建和初始化匿名結(jié)構(gòu)
    Element := struct { 
        name      string 
        branch    string 
        language  string 
        Particles int
    }{ 
        name:      "詹三", 
        branch:    "開發(fā)部", 
        language:  "C++", 
        Particles: 498, 
    } 
  
    //顯示匿名結(jié)構(gòu)
    fmt.Println(Element) 
}

輸出:

{詹三 開發(fā)部 C++ 498}

匿名字段

在Go結(jié)構(gòu)中,允許創(chuàng)建匿名字段。匿名字段是那些不包含任何名稱的字段,你只需要提到字段的類型,然后Go就會自動使用該類型作為字段的名稱。您可以使用以下語法創(chuàng)建結(jié)構(gòu)的匿名字段:

type struct_name struct{
    int
    bool
    float64
}

重要事項:

  • 在結(jié)構(gòu)中,不允許創(chuàng)建兩個或多個相同類型的字段,如下所示:

    type student struct{
    int
    int
    }

    如果嘗試這樣做,則編譯器將拋出錯誤。

  • 允許將匿名字段與命名字段組合,如下所示:

    type student struct{
     name int
     price int
     string
    }
  • 讓我們借助一個示例來討論匿名字段概念:

    package main 
      
    import "fmt"
      
    //創(chuàng)建一個結(jié)構(gòu)匿名字段 
    type student struct { 
        int
        string 
        float64 
    } 
      
    // Main function 
    func main() { 
      
        // 將值分配給匿名,學(xué)生結(jié)構(gòu)的字段
        value := student{123, "Bud", 8900.23} 
      
        fmt.Println("入學(xué)人數(shù) : ", value.int) 
        fmt.Println("學(xué)生姓名 : ", value.string) 
        fmt.Println("套餐價格 : ", value.float64) 
    }

    輸出:

    入學(xué)人數(shù) :  123
    學(xué)生姓名 :  Bud
    套餐價格 :  8900.23
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清