go变量类的概念以及类的使用方式,嵌套结构体

Posted will-xz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
}

 

以上是关于go变量类的概念以及类的使用方式,嵌套结构体的主要内容,如果未能解决你的问题,请参考以下文章

go结构体与方法

结构体——方法和接收器,为任意类型添加方法

9.Go语言基础之结构体

go使用结构体时需要import吗

Go教程结构体

Go教程结构体