Golang學習筆記 六 結構體

2021-09-24 08:46:02 字數 829 閱讀 1607

結構體與陣列一樣,屬於聚合型別,結構體可以包含零個或任意個型別的值。而這些值則稱為結構體的成員。

結構體使用struct關鍵字進行定義宣告,下列**中宣告乙個名稱為user結構體,用於表示乙個使用者資訊,宣告結構體後,便可以用於定義結構體變數。

type user struct 

複製**

定義好結構體後,便可以使用該結構體宣告變數了,以下是定義結構體變數的幾種方式。

直接宣告乙個變數,這時結構體中的成員都為各自型別的零值,如uid的值為0,username的值為""。

var u user //成員均為空值

複製**

使用new函式,定義乙個指向結構體的指標。

u := new(user)

複製**

使用字面量值,這種方式可以在定義變數的時候,給成員賦值,可以按順序給成員變數賦值,這種方式要求記住結構體中每個成員的順序,且每個成員必須賦值;另外一種是按成員名稱賦值,這樣則不需要按順序賦值,沒有賦值的成員則為零值。

u := user

複製**

宣告結構體變數後,可以通過變數名跟著點操作符訪問結構體中的字段,而由於成員都是變數,因此結構體成員也可像變數一樣取址的,如:

u.id = 100 //賦值

fmt.println(u.uid)//訪問,輸出100

u1 := &u.id //取址

*u1 = 1000

fmt.println(u.id)//輸出1000

複製**

六 Golang學習筆記 結構體

應用場景 儲存人員的詳細資訊,例如編號 姓名 性別等 概念 由一些列具有相同型別或不同型別的資料構成的資料集合,方便管理資料,提高程式易讀性 func main 順序初始化 var s student student fmt.println s 部分成員初始化 var s1 student stud...

Golang學習筆記 13 結構體

go 語言中陣列可以儲存同一型別的資料,但在結構體中我們可以為不同項定義不同的資料型別。結構體是由一系列具有相同型別或不同型別的資料構成的資料集合。結構體表示一項記錄,比如儲存圖書館的書籍記錄,每本書有以下屬性 title 標題 author 作者 subject 學科 id 書籍id type s...

Golang 學習 結構體

結構體定義 結構體是一種資料型別。定義型別 地位等價於 int byte bool string.通常放在全域性位置 type person struct 注意 結構體內不能賦初值,不能用 var 修飾。普通變數定義和初始化 普通變數的賦值和使用 使用 索引成員變數。var man person m...