When语句
示例:
- when sizeof(int) == 2:
- echo "running on a 16 bit system!"
- elif sizeof(int) == 4:
- echo "running on a 32 bit system!"
- elif sizeof(int) == 8:
- echo "running on a 64 bit system!"
- else:
- echo "cannot happen!"
when 语句几乎与 if 语句完全相同,但有一些例外:
- 每个条件 (expr) 必须是一个类型为 bool 的常量表达式。
- 语句不打开新作用域。
- 属于计算结果为true的表达式的语句由编译器翻译,其他语句不检查语义。
when 语句启用条件编译技术。 作为一种特殊的语法扩展, when 结构也可以在 object 定义中使用。