兄弟連go教程(19)資料 -Struct
值型別,賦值和傳參會複製全部內容。可⽤用 "_" 定義補位欄位,⽀支援指向⾃自⾝身型別的指標
成員。
type Node struct {
_ int
id int
data *byte
next *Node
}
func main() {
n1 := Node{
id: 1,
data: nil,
}
n2 := Node{
id: 2,
data: nil,
next: &n1,
}
}
順序初始化必須包含全部欄位,否則會出錯。
type User struct {
name string
age int
}
u1 := User{"Tom", 20}
u2 := User{"Tom"} // Error: too few values in struct initializer
⽀支援匿名結構,可⽤用作結構成員或定義變數。
type File struct {
name string
size int
attr struct {
perm int
owner int
}
}
f := File{
name: "test.txt",
size: 1025,
// attr: {0755, 1}, // Error: missing type in composite literal
}
f.attr.owner = 1
f.attr.perm = 0755
var attr = struct {
perm int
owner int
}{2, 0755}
f.attr = attr
支援 "=="、"!=" 相等操作符,可⽤用作 map 鍵型別。
type User struct {
id int
name string
}
m := map[User]int{
User{1, "Tom"}: 100,
}
可定義欄位標籤,⽤用反射讀取。標籤是型別的組成部分。
var u1 struct { name string "username" }
var u2 struct { name string }
u2 = u1 // Error: cannot use u1 (type struct { name string "username" }) as
// type struct { name string } in assignment
空結構 "節省" 記憶體,⽐比如⽤用來實現 set 資料結構,或者實現沒有 "狀態" 只有⽅方法的 "靜
態類"。
var null struct{}
set := make(map[string]struct{})
set["a"] = null
相關文章
- 兄弟連go教程(19)資料 - 匿名欄位Go
- 兄弟連go教程(19)資料 - ⾯物件導向Go物件
- 兄弟連go教程(16)資料 - ArrayGo
- 兄弟連go教程(17)資料 - SliceGo
- 兄弟連go教程(18)資料 - MapGo
- 兄弟連go教程(5)字串Go字串
- 兄弟連go教程(6)指標Go指標
- 兄弟連go教程(2)型別-常量Go型別
- 兄弟連go教程(3)基本型別Go型別
- 兄弟連go教程(1)型別-變數Go型別變數
- 兄弟連go教程(7)自定義型別Go型別
- 兄弟連go教程(10)表示式 - 控制流Go
- 兄弟連go教程(12)函式 - 變參Go函式
- 兄弟連go教程(9)表示式-初始化Go
- 兄弟連go教程(13)函式 返回值Go函式
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- 兄弟連go教程(15)函式 - 延遲呼叫Go函式
- 兄弟連go教程(4)型別-引用及轉換Go型別
- 兄弟連go教程(8)表示式--保留字;運算子Go
- 兄弟連go教程(11)函式 - 函式定義Go函式
- 兄弟連go教程(15)函式 - 錯誤處理Go函式
- Go語言之 Struct TagGoStruct
- 當 Go struct 遇上 MutexGoStructMutex
- 兄弟連golang神技(1)-關於 Go 語言的介紹Golang
- 兄弟連百度應用開發系列視訊教程
- Go Struct超詳細講解GoStruct
- go 結構體 (struct) 和方法 (method)Go結構體Struct
- mysql資料庫連線池配置教程MySql資料庫
- Go讀取yaml檔案到struct類GoYAMLStruct
- GO 同 (異) 包呼叫以及 struct 的用法GoStruct
- struct 結構體 -Go 學習記錄Struct結構體Go
- Go資料結構與力扣—連結串列Go資料結構力扣
- 寫給資料庫運維的兄弟資料庫運維
- go 連線資料庫 - GORM學習 - sql查詢Go資料庫ORMSQL
- 為什麼 Go 語言 struct 要使用 tagsGoStruct
- Python爬蟲教程-19-資料提取-正規表示式(re)Python爬蟲
- 如何將Rust的“struct”轉換為資料流?RustStruct
- C#使用struct直接轉換下位機資料C#Struct