匿名结构体和匿名字段
/*
匿名结构体和匿名字段
匿名结构体:没有名字的结构体,在创建匿名结构体时。同时创建对象
变量名:=struct {
定义字段
}{
字段进行赋值
}
匿名字段: 一个结构体的字段没有名字
理解为 如果一个字段没有名字。 那么默认使用类型作为字段名
匿名函数:没有名字的函数,随着定义的时候直接调用
*/
package main
import "fmt"
type student struct {
string // 匿名字段
int // 匿名字段
//string 因为字段没有名字。 默认使用类型作为名字, 那么匿名字段的类型不能冲突
}
func main() {
// 定义匿名结构体。同时创建该匿名结构体的对象
p1 := struct {
name string
age int
}{
name: "zhangsan",
age: 34,
}
fmt.Println(p1)
s1 := student{"zhangsan", 56}
//fmt.Println(s1)
fmt.Println(s1.string, s1.int)
}