A Beginner's Guide to D/Conditions and Loops/Switch Statement
Basics
editThe 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;
// ...
}