理解用來自定義資料結構,把需要的有關聯的字段集合到一起,有點型別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編譯器是一行行進行編譯的,因此我們一行就寫一條語句,不能把多條語句...