A Beginner's Guide to D/Conditions and Loops/Switch Statement


Basics

edit

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;
		
	// ...
}