Go 結構體概念及使用細節

2021-10-07 16:32:19 字數 1080 閱讀 2755

基本語法

type 結構體名稱 struct
type student struct
欄位是結構體的乙個組成部分,一般是基本資料型別、陣列,也可是引用型別

注意事項和細節說明

欄位的型別可以為

在建立乙個結構體變數後,如果沒有給字段賦值,都對應乙個零值(預設值)

type person struct

func main()

if p1.ptr == nil

if p1.slice == nil

if p1.map1 == nil

p1.slice = make(int, 10)

p1.slice[0] = 100 //ok

p1.map1 = make(map[string]string)

p1.map1["key1"] = "tom~"

fmt.println(p1)

var monster1 monster

monster1.name = "牛魔王"

monster1.age = 500

monster2 := monster1 -- 結構體是值型別,預設為值拷貝

monster2.name = "青牛精"

結構體相關概念及應用

include intmain st1 printf no.ld nname s n c n s n st1.num,st1.name,st1.st1.addr 要注意的細節 結構體的定義可以在函式外,作為全域性的,但是結構體的引用及其引用後面的賦值只能在函式內。對候選人得票的統計程式 定義候選人結...

Go 結構體使用注意事項和細節

結構體 type point struct 結構體 type rect struct func main point r1有四個int,在記憶體中是連續分布 列印位址 fmt.printf r1.leftup.x 位址 p r1.leftup.y 位址 p r1.rightdown.x 位址 p r...

Go 方法的基本概念及使用

方法的宣告和呼叫 type a struct func a a test type person struct 給person型別繫結一方法 給person型別繫結一方法 給person結構體新增speak 方法,輸出 是乙個好人 func p person speak func main type...