/* 匿名结构体和匿名字段 匿名结构体:没有名字的结构体,在创建匿名结构体时。同时创建对象 变量名:=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) }