When语句
示例:
- when system.hostOS == "windows":
- echo "running on Windows!"
- elif system.hostOS == "linux":
- echo "running on Linux!"
- elif system.hostOS == "macosx":
- echo "running on Mac OS X!"
- else:
- echo "unknown operating system"
when 语句几乎等价于 if 语句, 但有以下区别:
- 每个条件必须是常量表达式,因为它被编译器求值。
- 分支内的语句不打开新作用域。
- 编译器检查语义并 仅 为属于第一个求值为true的条件生成代码。when 语句在写平台特定代码时有用,类似于C语言中的 #ifdef 结构。