GO语言struct语法
struct
-使用type<Name>struct{}定義結構,名稱遵循可見性規則
-支持指向自身的指針類型成員
-支持匿名結構、可作用成員或定義成員變量
-匿名結構也可以用于MAP的值
-可以使用字面值對結構進行初始化
-允許值通過指針來讀寫結構成員
-相同類型的成員可進行直接拷貝賦值
-支持==與!=比較運算符,不支持>或<
-支持匿名字段,本質上是定義了以某個類型名稱的字段
-嵌入結構作為匿名字段看起來像繼承、但不是繼承
-可以使用匿名字段的指針
package main
import "fmt"
type test struct{}
func main(){
a :=test{}
fmt.Println(a)
}
//匿名結構
package?mainimport?"fmt"type?test?struct?{????Name????string????Age?????int????Address?string????Contact?struct?{????????User_phont?string????????City???????string????}}func?main()?{????a?:=?test{Name:?"yh",?Age:?19,?Address:?"Bj"}????a.Contact.User_phont?=?"1234567890"????a.Contact.City?=?"haidian"????fmt.Println(a)}package main
import "fmt"
func main() {
a := struct {
Name string
Age ?int
}{
Name: "aa",
Age: ?19,
}
fmt.Println(a)
}
package main
import "fmt"
type test struct{
Name string
Age int
}
func main(){
a :=test{
Name:"coolqi", ?//設置字面值初始化
}
a.Age=19//
fmt.Println(a)
}
package main
import "fmt"
type humen struct{
Sex int
}
type Teacher struct{
humen
Name string
Age int
}
type Student struct{
humen ? ?//這里的嵌入式是一個匿名的字段,本質上是將結構的名稱作為字段名稱,若需要作為字面值初始化,需要做humen:humen{Sex:1}
Name string
Age int
}
func main(){
a :=Teacher{Name:"joe",Age:19,humen:humen{Sex:1}}//在嵌入式結構中,
fmt.Println(a)
}
轉載于:https://blog.51cto.com/dbaspace/1963454
總結
以上是生活随笔為你收集整理的GO语言struct语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#快速排序详解
- 下一篇: 上架过程中遇到的问题