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)
}
上一篇:abap中结构体嵌套结构体。


下一篇:嵌套结构使用:struc1-struc2-XXX