# 运算符

符号 描述
+ 变量相加
- 数字相减
* 数字相乘
/ 数字相除
% 数字求余
++ 自加
-- 自减

一个实例:

package main
import "fmt"
func main() {
   var a int = 21
   var b int = 10
   var c int
   c = a + b
   fmt.Printf("第一行 - c 的值为 %d\n", c )
   c = a - b
   fmt.Printf("第二行 - c 的值为 %d\n", c )
   c = a * b
   fmt.Printf("第三行 - c 的值为 %d\n", c )
   c = a / b
   fmt.Printf("第四行 - c 的值为 %d\n", c )
   c = a % b
   fmt.Printf("第五行 - c 的值为 %d\n", c )
   a++
   fmt.Printf("第六行 - c 的值为 %d\n", a )
   a--
   fmt.Printf("第七行 - c 的值为 %d\n", a )
}

# 分支结构

# 单分支

# if 结构

package main
import "fmt"
func main() {
	var a int
	fmt.Scanln(&a)
	if a > 10{
		fmt.Println("a大于10")
	}
}

if 表达式格式如下: if 布尔表达式 {语句}
为真执行语句,为假不执行

# 双分支

# if else 结构

package main
import "fmt"
func main() {
	var a int
	fmt.Scanln(&a)
	if a > 10 {
		fmt.Println("a大于10")
	} else {
		fmt.Println("a小于等于10")
	}
}

大括号后接 else 即可,无需条件
当布尔表达式为假时,执行 else 代码块

# 多分支

# if else if 结构

package main
import "fmt"
func main() {
	var a int
	fmt.Scanln(&a)
	if a > 10 {
		fmt.Println("a大于10")
	} else if a > 5 {
		fmt.Println("a大于5")
	} else if a > 0 {
		fmt.Println("a大于0")
	} else {
		fmt.Println("a小于0")
	}
}

一个分支结构可以有零、一或无数个 else if 代码块
当 if 的表达式不满足时,继续检查 else if 的表达式,都不满足执行 else

一个 if else 结构至多执行一个代码块,多个代码块需要 if...if... 结构

# switch 结构

package main
import "fmt"
func main() {
	var a int
	fmt.Scanln(&a)
	switch a {
	case 5:
		fmt.Println("a为5")
	case 10:
		fmt.Println("a为10")
	default:
		fmt.Println("a不为5或10")
	}
}

switch 的语法如下:

switch anyvar {
case var1:
    // code
case var2:
    // code
default:
    // code
}

switch...case... 不是通过缩进识别结构,是在这个 case 到下个 case 之间的代码
都视作一个代码块

case 后是一个准确的变量 / 值,不是布尔表达式
如果没有任何一个 case 执行,则执行 default 代码块

select 结构放在信道里将,这里先跳过

更新于