3.2.3 枚举 (Enum) 与别名 在现代编程语言的类型系统演进中,枚举(Enum)早已不是教科书里那个“几个常量捆在一起”的语法糖——它已悄然蜕变为一种兼具表达力、安全性与可推导性的第一类类型构造子。当你写下 而非 ,你不仅省去了注释,更在编译期锁死了状态空间;当你为 枚举附加关联值、实现 和 ,你实际上是在用类型系统编织一张细密的状态契约网;而当 自动为你生成字符串解析逻辑时,那背后是编译器对枚举布局的精确建模与代码生成策略的深度协同。 这正是本节要剖开的内核:枚举不是“定义一组名字”,而是定义一个封闭、可穷举、可模式匹配、可内存对齐、可跨 ABI 传递的代数数据类型(Algebraic Data Type, ADT)。