类型别名
概念说明
类型别名使用 type 新名字 = 原类型 定义。
它不会创建一个全新的类型,只是给已有类型增加一个别名。
它和自定义类型最容易混淆:
自定义类型是新类型,类型别名仍然是原类型。
语法/规则
- 类型别名语法中间有等号:
type Alias = 原类型。 - 类型别名不会产生新类型,打印类型时通常仍显示原类型。
- 类型别名可以和原类型直接比较或赋值。
- 类型别名不适合用来给内置类型新增方法。
- 类型别名常用于重构、迁移包路径或兼容旧名称。
类型别名与自定义类型对比示例
| |
输出结果:
| |
常见错误
- 把
type Alias = int当成“新类型”使用,实际它仍然是int。 - 忘记类型别名语法中的
=,导致定义成自定义类型。 - 试图通过内置类型别名给内置类型新增方法,通常无法达到预期。
- 为了让变量名更“好看”而滥用类型别名,反而降低代码可读性。