三种方式初始化结构体
package main
import (
"fmt"
)
type user struct {
name string
email string
ext int
privileged bool
}
func main() {
// 声明user类型的变量
var bill user
fmt.Println(bill)
// 使用user类型的变量,并初始化所有字段
lisa := user {
name : "Lisa",
email: "lisa@emial.com",
ext: 123,
privileged: true,
}
fmt.Println(lisa)
// 使用user类型的变量,并初始化所有字段
jim := user{"Jim", "jim@emial.com", 134, true}
fmt.Println(jim)
}
运行结果:
{ 0 false}
{Lisa lisa@emial.com 123 true}
{Jim jim@emial.com 134 true}
结构体嵌套
package main
import "fmt"
type user struct {
name string
email string
ext int
privileged bool
}
type admin struct {
person user
level string
}
func main() {
lisa := admin{
person:user{
name: "Lisa",
email: "lisa@emial.com",
ext: 123,
privileged: true,
},
level: "super",
}
fmt.Println(lisa)
}
运行结果:
{{Lisa lisa@emial.com 123 true} super}