go變量、類的概念以及類的使用方式,嵌套結構體
Go變量
- go使用var聲明變量,當聲明變量時,這個變量對應的值總是會被初始化。這個值要麼用指定的值初始化,要麼用零值(即變 量類型的默認值)做初始化。對數值類型來說,零值是 0 ;對字符串來說,零值是空字符串;對 布爾類型,零值是 false。
package main import "fmt" func main() { var age int fmt.Println(age) var name string fmt.Println(name) var status bool fmt.Println(status) }
- 還有一種簡潔聲明變量並賦值的方式。
first_name := "zhang" fmt.Println(first_name)
Go類的聲明及使用
- go中類的使用方式是用戶自定義的結構體,使用struct關鍵字創建結構體。
type User struct { name string age int sex bool }
- go類的使用賦值方式有兩種,分別如下:
package main import "fmt" type User struct { name string age int sex bool } func main() { // 第一種複製方式,鍵值對複製 user := User{ name: "張三", age: 12, sex: true, } fmt.Println(user) // 第二種複製方式,按照順序複製 user_1 := User{"張三",12,true} fmt.Println(user_1) }
Go類的嵌套結構體
- 類的嵌套結構體,結構體注入,即在一個結構體中,聲明定義另一個結構體,在一個類中注入另一個類,即可使用注入該結構體的屬性
package main import "fmt" type User struct { name string age int sex bool } type Admin struct { user User account string password string login_status bool } func main() { user := User{ name: "張三", age: 12, sex: true, } admin := Admin { user : user, account : "admin", password : "admin", login_status: false, } fmt.Println(admin.user.name) fmt.Println(admin.user.age) fmt.Println(admin.user.sex) fmt.Println(admin.account) fmt.Println(admin.password) fmt.Println(admin.login_status) }