go語言學習筆記 struct結構體

2021-08-21 19:56:59 字數 1172 閱讀 1642

理解

用來自定義資料結構,把需要的有關聯的字段集合到一起,有點型別map的key-value形式,還支援巢狀

宣告乙個結構體並使用

// 宣告

type stu struct

stu1 := stu

// 不需要指定欄位的使用方式

stu2 := stu

fmt.println(stu1, stu2)

輸出 

忽略欄位名的情況下,要保證順序與宣告結構體時相同

結構體的零值

當隱式宣告乙個結構體型別時,該結構體的字段預設為該字段型別的零值

var stu1 stu

fmt.println(stu1)

訪問結構體的字段

訪問結構體的字段,使用 . 操作符來訪問結構體的字段,如下

stu1 := stu

major := stu1.major

fmt.println(major)

也可以使用 . 操作符來會結構體欄位賦值

stu1 := stu

stu1.major = "物理"

fmt.println(stu1)

巢狀結構體

結構體中某個欄位的型別也是乙個結構體,稱為結構體巢狀,如果這個欄位是匿名的話,則該匿名結構體裡的字段就被稱為提公升字段(promoted fields),如stu中的person,就是乙個匿名的結構體欄位,所以name和age就是提公升字段,訪問方式和stu中其他字段一樣

type person struct 

type stu struct

func main()

stu1.name = "柯南"

fmt.println(stu1)

}

以上就是關於go語言中struct的一些基本理解和操作,之後會持續更新的~

感謝你的閱讀~

go語言學習筆記

type info struct func main fmt.println info1 data,json.marshal info1 fmt.println string data 輸出 這裡要特別注意的是 json 冒號後面和雙引號之間千萬不要有空格!被坑慘了 go語言 import的包的前面...

Go語言 學習筆記

import 下劃線 如 import hello imp 的作用 當匯入乙個包時,該包下的檔案裡所有init 函式都會被執行,然而,有些時候我們並不需要把整個包都匯入進來,僅僅是是希望它執行init 函式而已。這個時候就可以使用 import 引用該包。即使用 import 包路徑 只是引用該包,...

Go語言學習筆記

一.go程式開發注意事項 go原始檔以 go 為副檔名。go應用程式的執行入口是main 函式。go語言干戈區分大小寫。go方法由一條條語句構成,每個語句後不需要分號 go語言會在每行後自動加分號 這也體現出golang的簡潔性。go編譯器是一行行進行編譯的,因此我們一行就寫一條語句,不能把多條語句...