D 语言入门指南/条件语句和循环/Switch 语句
外观
switch 语句几乎存在于所有编程语言中,它通常用于检查多个条件。语法与 C++ 或 Java 中的语法相同。它具有以下形式
switch(variable)
{
case value_to_check:
statements;
break;
default:
statements;
}
以下是一些简单的示例
import std.stdio,
std.string : strip;
void main()
{
// Command that user want to launch
string input;
write("Enter some command: ");
// Get input without whitespaces, such as newline
input = strip(readln());
// We are checking input variable
switch( input )
{
// If input is equals to '/hello'
case "/hello":
writeln("Hello!");
break;
// If it is equals to '/bye'
case "/bye":
writeln("Bye!");
break;
// None of specified, unknown command
default:
writeln("I don't know that command");
}
}
我们代码的结果
Enter some command: /hello Hello!
请注意每个 case 后的 break 关键字!如果它被绕过,它后面的每个 case 都会被调用。因此,如果没有 break,代码的控制台输出如下
Enter some command: /hello Hello! Bye! I don't know that command
如你所见,/hello
之后的每个 case 都被“调用”了,如果我们想要在多个 case 中调用相同的语句,这将非常有用。以下是一个额外的示例
string cmd = "/hi";
switch( cmd )
{
case "/hi":
case "/hello":
case "/wassup":
writeln("Hi!");
break;
// ...
}