4. go基础:结构体和接口
接口是一种聚合类型,结构体是和调用方的一种约定,有点抽象类的意思。:) 结构体 结构体定义 结构体是一种聚合类型,里面可以包含任意类型的值,这些值就是我们定义的结构体成员,也称为字段 在go语言中,要定义一个结构体,需要使用 type+struct 关键字组合。 // 定义一个代表【人】的结构体 type person struct { name string // 名称 age uint // 年龄 } 结构体的成员字段并不是必需的,也可以一个字段都没有,这种结构体成为空结构体。 type s struct {} 结构体声明使用 // 使用var声明一个person变量,未初始化,里面的值为各自变量的零值 var p person // 可以使用结构体字面量初始化的方式 p2 := person{"Mike", 10} // 第一个值为 name,第二个值为age,与结构体字段定义顺序有关 // 可以指定字段名初始化,不按定义顺序 p3 := person{age: 10, name: "Mike"} 字段结构体 type address struct { province string city string } // 结构体的字段可以是任意类型,也可以是自定义的结构体 type person struct { name string age uint addr address } // 初始化 p := person{ name: "Mike", age: 10, addr: address{ province: "Guandong", city: "Maoming", }, } fmt.Println(p.addr.province) 接口 接口的定义 接口是和调用方的一种约定,是一个高度抽象的类型,不需要和具体的实现细节绑定在一起。 接口要做的就是定义好约定,告诉调用方,自己可以做什么,但是不需要知道它的内部是如何实现的 我们通过 type + interface关键字定义一个接口 ...