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 }