Golang 學習 結構體

2021-10-05 15:08:45 字數 996 閱讀 3486

結構體定義

結構體是一種資料型別。

// 定義型別(地位等價於 int/byte/bool/string... )

// 通常放在全域性位置

type person struct

注意:結構體內不能賦初值,不能用 var 修飾。

普通變數定義和初始化

普通變數的賦值和使用

使用 「.」 索引成員變數。

var man person

man.name =

"make"

man.*** =

'm'man.age =

20

結構體變數的比較

結構體位址

結構體變數的位址 == 結構體首個元素的位址

結構體傳參

將結構體變數的值拷貝乙份傳遞。(幾乎不用,因為記憶體消耗大,效率低)

// 獲取某種型別的變數所占用的記憶體空間的大小

unsafe.

sizeof

(變數名)

指標變數的定義和初始化

指標變數的賦值和使用(與普通變數相同)

使用 「.」 索引成員變數。

var man person

man.name =

"make"

man.*** =

'm'man.age =

20

結構體指標位址

結構體指標變數的值 == 結構體首個元素的位址

結構體指標傳參

將結構體變數位址值傳遞(傳引用)。(使用頻率比較高)

// 不管何種型別的指標,在 64 位作業系統下,大小一致,均為 8 位元組!!!

unsafe.

sizeof

(指標)

結構體指標做函式返回值

可以返回區域性變數的值。

Golang學習筆記 六 結構體

結構體與陣列一樣,屬於聚合型別,結構體可以包含零個或任意個型別的值。而這些值則稱為結構體的成員。結構體使用struct關鍵字進行定義宣告,下列 中宣告乙個名稱為user結構體,用於表示乙個使用者資訊,宣告結構體後,便可以用於定義結構體變數。type user struct 複製 定義好結構體後,便可...

Golang學習筆記 13 結構體

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

六 Golang學習筆記 結構體

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