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