From f107c5c460425a4e0a1e74e7c475d64870a638c9 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 16 Jul 2015 02:36:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B2=BE=E6=A0=A1=EF=BC=9A5.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eBook/05.3.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/eBook/05.3.md b/eBook/05.3.md index d8fe041..7fc198e 100644 --- a/eBook/05.3.md +++ b/eBook/05.3.md @@ -2,7 +2,7 @@ 相比较 C 和 Java 等其它语言而言,Go 语言中的 switch 结构使用上更加灵活。它接受任意形式的表达式: -``` +```go switch var1 { case val1: ... @@ -25,7 +25,7 @@ switch var1 { 因此: -``` +```go switch i { case 0: // 空分支,只有当 i == 0 时才会进入分支 case 1: @@ -35,7 +35,7 @@ switch i { 并且: -``` +```go switch i { case 0: fallthrough case 1: @@ -49,9 +49,9 @@ switch i { 可选的 `default` 分支可以出现在任何顺序,但最好将它放在最后。它的作用类似与 `if-else` 语句中的 `else`,表示不符合任何已给出条件时,执行相关语句。 -Listing 5.4 [switch1.go](examples/chapter_5/switch1.go): +示例 5.4 [switch1.go](examples/chapter_5/switch1.go): -``` +```go package main import "fmt" @@ -77,7 +77,7 @@ func main() { 在第 12.1 节,我们会使用 switch 语句判断从键盘输入的字符(详见第 12.2 节的 switch.go)。switch 语句的第二种形式是不提供任何被判断的值(实际上默认为判断是否为 true),然后在每个 case 分支中进行测试不同的条件。当任一分支的测试结果为 true 时,该分支的代码会被执行。这看起来非常像链式的 `if-else` 语句,但是在测试条件非常多的情况下,提供了可读性更好的书写方式。 -``` +```go switch { case condition1: ... @@ -90,7 +90,7 @@ switch { 例如: -``` +```go switch { case i < 0: f1() @@ -103,9 +103,9 @@ switch { 任何支持进行相等判断的类型都可以作为测试表达式的条件,包括 int、string、指针等。 -Listing 5.4 [switch2.go](examples/chapter_5/switch2.go): +示例 5.4 [switch2.go](examples/chapter_5/switch2.go): -``` +```go package main import "fmt" @@ -130,7 +130,7 @@ func main() { switch 语句的第三种形式是包含一个初始化语句: -``` +```go switch initialization { case val1: ... @@ -143,7 +143,7 @@ switch initialization { 这种形式可以非常优雅地进行条件判断: -``` +```go switch result := calculate(); { case result < 0: ... @@ -156,7 +156,7 @@ switch result := calculate(); { 在下面这个代码片段中,变量 a 和 b 被平行初始化,然后作为判断条件: -``` +```go switch a, b := x[i], y[j]; { case a < b: t = -1 case a == b: t = 0 @@ -170,7 +170,7 @@ switch 语句还可以被用于 type-switch(详见第 11.4 节)来判断某 请说出下面代码片段输出的结果: -``` +```go k := 6 switch k { case 4: fmt.Println("was <= 4"); fallthrough;