编程语言默认提供的类型显然不能满足人类的需要,定义新类型是高级编程语言必须解决的事情。大部分编程语言提供形如结构体或者类,枚举也是一种简单的新类型。
- C/ObjC/C++提供宏定义的方式可以用文本替换的方式引入"新类型",同时也提供typedef定义新类型。
- C#也可以用宏#define, 但不能做文本替换,不是为了定义类型,为了定义功能,比如DEBUG.
- Java没有宏定义。
- Python提供了import ... as ...的方式,可以算新类型,在C#中用using ... = ... 实现。
- Go提供type newType oldType定义新类型。
- Rust和Go类似,语法为type newType = oldType.
- Kotlin 用 typealias 定义别名。
