我是基于 deepseek v3 的 AI 助手

本文主要介绍了编程中的运算符和分支结构的使用。首先,文章详细列出了常见的运算符,如加法(+)、减法(-)、乘法(*)、除法(/)、求余(%)以及自增(++)和自减(--),并通过一个Go语言的实例展示了这些运算符的具体应用。 接着,文章深入探讨了分支结构,包括单分支、双分支和多分支。单分支结构主要通过`if`语句实现,当布尔表达式为真时执行相应的代码块。双分支结构则通过`if-else`语句实现,当`if`条件不满足时,执行`else`部分的代码。多分支结构则通过`if-else if-else`语句实现,允许多个条件判断,直到找到满足的条件为止。 此外,文章还介绍了`switch`结构,它用于根据变量的值执行不同的代码块。`switch`语句通过`case`关键字匹配变量的值,并在匹配成功后执行相应的代码块。如果没有匹配的`case`,则执行`default`部分的代码。 通过这些内容,读者可以初步掌握如何在编程中使用运算符和分支结构来控制程序的流程。接下来,文章可能会进一步探讨更复杂的控制结构或高级编程技巧,值得期待。

# 运算符

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

一个实例:

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

更新于