# 运算符

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

一个实例:

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结构放在信道里将,这里先跳过

更新于