# 13 if, switch, goto

`if`语句基本语法：

```go
package main

import "fmt"

func main() {
	a := 5
	b := 6
	if a == b {
		fmt.Print("a is equal to b\n")
	} else {
		fmt.Print("a is not equal to b\n")
	}
}
```

`switch`语句基本语法:

```go
package main

import "fmt"

func main() {
	stmt := "if"
	switch stmt {
	case "if", "for":
		fmt.Printf("stmt ('%s') is either 'if' or 'for'\n", stmt)
	case "else":
		fmt.Printf("stmt is 'else'\n")
	default:
		fmt.Printf("stmt is '%s'\n", stmt)
	}
}
```

注意，跟C++不同的是，`case`语句不会在条件落空后还到下个`case`，所以您不需要在每个`case`语句后面都放上`break`。

`switch`也被用作[类型交换机(type switch)](https://denglj.gitbook.io/essential-go/12-empty-interface#lei-xing-jiao-huan-ji-type-switch)。
