类型定义
根据基本类型声明一个新的数据类型。
类型定义格式类似如下:
1 2
| type hello int type world func(name string) string
|
类型别名
类型别名 是 Go 1.9 版本添加的新功能。主要应用于代码升级、工程重构、迁移中类型的兼容性问题。C/C++ 语言中,代码的重构升级可以使用宏快速定义新的代码。
类型别名格式类似如下:
1 2
| type hello = int type world = int32
|
类型定义与类型别名
类型别名规定:Type Alias只是Type 的别名,本质上Type Alias 与Type是同一个类型,即基本数据类型是一致的。这意味着这两种类型的数据可以互相赋值,而类型定义要和原始类型赋值的时候需要类型转换(Conversion T(x))。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package main
import "fmt"
type world func(name string) string
type hello = int
func main() { var h hello var w world
fmt.Printf("hello Type: %T, value: %d\n", h, h) fmt.Printf("world Type: %T, value: %d\n", w, w) }
result:
hello Type: int, value: 0 world Type: main.world, value: 0
|
参考文档