Skip to content

类型别名与自定义类型

自定义类型

Go 语言中有一些基本数据类型,比如:intstringbool等,这些都是官方给直接定义好了的。当然,除了这些已经定义好了的数据类型,Go 语言也支持自定义数据类型,例如:

go
type myInt int

上面就是定义了一个myInt的数据类型,它具有 int 的特性,比如:

go
package main

import "fmt"

// 自定义一个类型
type myInt int

func main() {
	// 定义一个变量a,是myInt类型
	var a myInt
	a = 10
	fmt.Println(a)
}

类型别名

类型别名,顾名思义就是为某个类型添加一个别名,也就是起小名的意思,类似于我们在 Linux 中为某个命令用alias起别名一样。

在 Go 语言中起别名的语法如下:

plain
type typeAlias = type

比如:

plain
type stringAlias = string

上面就是为string起了一个别名叫stringAlias

自定义类型是我们自己新定义一个类型,它与其他类型没有任何关系,即使它们的功能一样,而且自定义类型只在代码中存在,编译完就没有这个类型了。而类型别名仅仅是为某个类型起了一个名字,就算这个别名不存在了,这个类型本身是存在的。

最近更新