411 REFERENCE · Wikibooks
A Beginner's Guide to D/Conditions and Loops/Switch Statement
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Basics
The switch statement can be found in almost every programming language, it's commonly used for checking multiple conditions. Syntax is identical as it is in C++ or Java. It has following form:
switch(variable)
{
case value_to_check:
statements;
break;
default:
statements;
}
Here's some simple example:
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");
}
}
And the result of our code:
Enter some command: /hello
Hello!
Note break keyword after each case! If it's bypassed each case after it will be called. So here's console output of code without breaks:
Enter some command: /hello
Hello!
Bye!
I don't know that command
As you may see, all cases after /hello were "called", this is useful if we want to call same statements in more that one case. Here's one more example:
string cmd = "/hi";
switch( cmd )
{
case "/hi":
case "/hello":
case "/wassup":
writeln("Hi!");
break;
// ...
}