跳转到内容

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;
		
	// ...
}
华夏公益教科书