type关键字在Go语言中有五种用法:
- 定义结构体
- 定义接口
- 类型别名
- 类型定义
- 类型开关
其中,定义结构体和定义接口是Go语言中常用的类型定义方式,类型别名和类型定义则是为了方便程序员使用而设计的,而类型开关则是Go语言中比较特殊的一种类型定义方式。
定义结构体
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。类似Java 的类,我们可以把Go中的struct看作是不支持继承行为的轻量级的“类”。
我们来看看使用type怎么定义结构体:
//定义一个 Books结构体
type Books struct {
title string
author string
subject string
book_id int
}
//结构体内内嵌匿名成员变量定义
func main() {
p := person{"abc",12}
fmt.Println(p.string,p.int)
}
type person struct {
string
int
}