类型转换

Nim区分 type casts 和 type conversions 。使用 cast 运算符完成转换,并强制编译器将位模式解释为另一种类型。

类型转换是将类型转换为另一种类型的更友好的方式:它们保留抽象 ,不一定是 位模式 。如果无法进行类型转换,则编译器会引发异常。

类型转换语法 destination_type(expression_to_convert) (像平时的调用):

  1. proc getID(x: Person): int =
  2. Student(x).id

如果 x 不是 Student ,则引发 InvalidObjectConversionError 异常。