Go中的結構體

結構體是一種包含一個或多個變量的類型。它類似於一組變量,我們稱之為字段。這些字段可以具有不同的類型。 下面是一個結構體定義的示例: type Person struct { Name string Age int } 請注意,我們使用大寫字母命名字段,否則這些字段將對包私有。當您將結構體傳遞給其他包提供的函數(例如用於處理 JSON 或數據庫的函數)時,將無法訪問這些字段。 一旦我們定義了結構體,我們可以使用該類型初始化變量: flavio := Person{"Flavio", 39} 並且我們可以使用點語法訪問個別的字段: flavio.Age // 39 flavio.Name // "Flavio" 您還可以以以下方式從結構體初始化新變量: flavio := Person{Age: 39, Name: "Flavio"} 這使您只能初始化一個字段: flavio := Person{Age: 39} 或者甚至可以在不指定任何值的情況下初始化它: flavio := Person{} // 或者 var flavio Person 然後再設置其值: flavio.Name = "Flavio" flavio.Age = 39 結構體非常有用,因為您可以將不相關的數據進行分組,並將其傳遞給/從函數中,存儲在切片中等等。 定義後,結構體就像int或string一樣是一種類型,這意味著您還可以在其他結構體中使用它: type FullName struct { FirstName string LastName string } type Person struct { Name FullName Age int }