72_Go基础_1_39 结构体匿名字段
1 package main 2 3 import "fmt" 4 5 type Student struct { 6 name string 7 age int 8 } 9 10 type Worker struct { 11 string // 匿名字段 12 int // 匿名字段,默认使用数据类型作为名字,那么匿名字段的类型就不能重复,否则会冲突 13 } 14 15 func main() { 16 /* 17 匿名结构体和匿名字段: 18 19 匿名结构体:没有名字的结构体, 20 在创建匿名结构体时,同时创建对象 21 变量名 := struct{ 22 定义字段Field 23 }{ 24 字段进行赋值 25 } 26 27 匿名字段:一个结构体的字段没有字段名 28 匿名函数: 29 30 */ 31 32 s1 := Student{name: "张三", age: 18} 33 fmt.Println(s1.name, s1.age) 34 35 // 匿名函数 36 func() { 37 fmt.Println("hello world...") 38 }() 39 40 s2 := struct { 41 name string 42 age int 43 }{ 44 name: "李四", 45 age: 19, 46 } 47 fmt.Println(s2.name, s2.age) 48 49 w2 := Worker{"李小花", 32} 50 fmt.Println(w2) // {李小花 32} 51 fmt.Println(w2.string) // 李小花 52 fmt.Println(w2.int) // 32 53 }