自定义类型
Go语言中有一些基本数据类型,比如:int
、string
、bool
等,这些都是官方给直接定义好了的。当然,除了这些已经定义好了的数据类型,Go语言也支持自定义数据类型,例如:
type myInt int
上面就是定义了一个myInt
的数据类型,它具有int的特性,比如:
package main
import "fmt"
// 自定义一个类型
type myInt int
func main() {
// 定义一个变量a,是myInt类型
var a myInt
a = 10
fmt.Println(a)
}
类型别名
类型别名,顾名思义就是为某个类型添加一个别名,也就是起小名的意思,类似于我们在Linux中为某个命令用alias
起别名一样。
在Go语言中起别名的语法如下:
type typeAlias = type
比如:
type stringAlias = string
上面就是为string
起了一个别名叫stringAlias
。
自定义类型是我们自己新定义一个类型,它与其他类型没有任何关系,即使它们的功能一样,而且自定义类型只在代码中存在,编译完就没有这个类型了。而类型别名仅仅是为某个类型起了一个名字,就算这个别名不存在了,这个类型本身是存在的。