go語言的struct和c語言的很相似
簡單的struct定義
package main
import
"fmt"
type test struct
func main()
fmt.println(a)
}
或者
package main
import
"fmt"
type test struct
func main()
fmt.println(a)
}
關於struct的操作
package main
import
"fmt"
type test struct
func main()
fmt.println(a)
a.name="yc"
a.age =22
fmt.println(a)
}
關於結構體做引數
不用指標就是值傳遞,加上指標就可以改變源位址,注意用了指標但是依舊用.進行呼叫
package main
import
"fmt"
type test struct
func a(t* test)
func main()//get the address directely,a is ptr
a(a)
fmt.println(a)
a.age=20
fmt.println(a)
}
可以直接取a為結構體位址,而且這樣的a還相容普通的型別操作,所以是常用情況
匿名結構
package main
import
"fmt"
func main()
fmt.println(a)
}
巢狀結構體
package main
import
"fmt"
type person struct
}func main()
a.contact.phone="123456"
a.contact.city="nih"
fmt.println(a)
}
匿名字段
package main
import
"fmt"
type person struct
func main()
fmt.println(a)
}
注意匿名字段賦值的時候一定要按照宣告次序
結構體的組合(go語言沒有繼承)
嵌入
package main
import "fmt"
type human struct
type teacher struct
type student struct
func main()};
b:=teacher};
fmt.println(a,b)
a.***=1
fmt.println(a,b)
}
go語言結構體
go語言陣列可以儲存同一型別的資料 但在結構體中我們可以為不同項定義不同的資料型別 結構體是由一系列具有相同的型別或者不同型別的資料構成的資料集合 1.定義結構體 結構體定義需要使用type和struct語句。struct語句定義乙個新的資料型別,結構體中有乙個或者多個成員。type語句設定了結構體...
Go語言 結構體
一 定義結構體及其三種初始化 示例程式 package main import fmt type books struct func main 也可以使用key value 格式 fmt.println books 忽略的字段為0或空 fmt.println books 執行結果 二 訪問結構體及將...
go語言 結構體及結構體指標
結構體 struct 是由一系列具有相同型別或不同型別的資料構成的資料集合,也叫結構。可以理解為其他程式語言中的類 結構體既可以定義在函式內,也可以定義在函式外,函式外為全域性結構體可以跨包訪問 前提是結構體首字母大寫 結構體變數是值型別,可以使用fmt.printf p 結構體變數 來檢視其記憶體...