类型转换
Nim区分 type casts 和 type conversions 。使用 cast 运算符完成转换,并强制编译器将位模式解释为另一种类型。
类型转换是将类型转换为另一种类型的更友好的方式:它们保留抽象 值 ,不一定是 位模式 。如果无法进行类型转换,则编译器会引发异常。
类型转换语法 destination_type(expression_to_convert) (像平时的调用):
- proc getID(x: Person): int =
- Student(x).id
如果 x 不是 Student ,则引发 InvalidObjectConversionError 异常。