类型转换

语法上, 类型转换 类似于过程调用,但类型名称替换过程名称。

类型转换总是安全的,因为将类型转换为另一个类型失败会导致异常(如果无法静态确定)。

普通的procs通常比Nim中的类型转换更受欢迎:例如, $toString 运算符,而 toFloattoInt 可用于从浮点转换为整数,反之亦然。

类型转换也可用于消除重载例程的歧义:

  1. proc p(x: int) = echo "int"
  2. proc p(x: string) = echo "string"
  3.  
  4. let procVar = (proc(x: string))(p)
  5. procVar("a")