< A Beginner's Guide to D < Conditions and Loops

Programmers familiar with C, C++ or Java are likely to find this section familiar, and may want to skim or skip it at their discretion.

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;
		
	// ...
}
This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.