其他分享
首页 > 其他分享> > 72_Go基础_1_39 结构体匿名字段

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 }

 

标签:39,name,fmt,Println,匿名,72,Go,age,struct
来源: https://www.cnblogs.com/luwei0915/p/15630190.html