go變量、類的概念以及類的使用方式,嵌套結構體

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)
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章