类型转换
语法上, 类型转换 类似于过程调用,但类型名称替换过程名称。
类型转换总是安全的,因为将类型转换为另一个类型失败会导致异常(如果无法静态确定)。
普通的procs通常比Nim中的类型转换更受欢迎:例如, $ 是 toString 运算符,而 toFloat 和 toInt 可用于从浮点转换为整数,反之亦然。
类型转换也可用于消除重载例程的歧义:
- proc p(x: int) = echo "int"
- proc p(x: string) = echo "string"
- let procVar = (proc(x: string))(p)
- procVar("a")