静态语句/表达式
静态语句/表达式明确要求编译期执行。甚至在静态块中也允许一些具有副作用的代码:
static:
echo "echo at compile time"
static 也可以像例程一样使用。
proc getNum(a: int): int = a
# 以下,在编译期调用 "echo getNum(123)"
static:
echo getNum(123)
# 下面的调用在编译期计算 "getNum(123)" ,但其结果在运行时使用。
echo static(getNum(123))
对于哪些 Nim 代码可以在编译期执行,是有限制的,详情参阅编译期执行限制。 如果编译器不能在编译期执行该块,将是一个静态错误。
当前内容版权归 vectorworkshopbaoerjie 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 vectorworkshopbaoerjie .