Go语言基础运算符和流程控制

1. 基础运算符

在Go语言中,支持基本的算术运算符(如Addition、Subtraction、Multiplication、Division等)以及复合赋值运算符、比较运算符、逻辑运算符等。其中复合赋值运算符用于将运算符右侧的值与左侧的变量进行计算后再将结果赋值给左侧的变量。

比如:

a := 10

a += 5

相当于:

a = a + 5

1.1 算术运算符

下面是Go语言的算术运算符:

运算符 说明 示例
+ 加法运算符 a+b
- 减法运算符 b-a
* 乘法运算符 a*b
/ 除法运算符 b/a
% 取余运算符 b%a

1.2 比较运算符

下面是Go语言的比较运算符:

运算符 说明
== 判断两个值是否相等
!= 判断两个值是否不相等
> 判断左侧的值是否大于右侧的值
< 判断左侧的值是否小于右侧的值
>= 判断左侧的值是否大于等于右侧的值
<= 判断左侧的值是否小于等于右侧的值

1.3 逻辑运算符

下面是Go语言的逻辑运算符:

运算符 说明
&& 逻辑与运算符
|| 逻辑或运算符
逻辑非运算符

2. 流程控制

2.1 条件语句

Go语言中的条件语句包括if语句、if else语句、if else if语句。

2.1.1 if语句

简单的if语句包含一个布尔表达式和一条语句。

if age >= 18 {

fmt.Println("您已经成年了!")

}

2.1.2 if else语句

if else语句用于在一个条件为false时执行另一个代码块。

if age < 18 {

fmt.Println("您还未成年!")

} else {

fmt.Println("您已经成年了!")

}

2.1.3 if else if语句

if else if语句通过在一个条件为false时继续测试下一个条件来解决复杂的决策问题。

if age < 18 {

fmt.Println("您还未成年!")

} else if age <= 60 {

fmt.Println("您是成年人!")

} else {

fmt.Println("您是老年人!")

}

2.2 循环语句

Go语言中的循环语句包括for语句、range语句。

2.2.1 for语句

for语句用于重复执行一段代码。

for i := 0; i < 5; i++ {

fmt.Println(i)

}

在上面的代码示例中,我们使用for语句打印出0~4这5个数字。

2.2.2 range语句

range语句用于遍历一个数组、切片、字符串或映射。

str := "hello"

for index, value := range str {

fmt.Println(index, string(value))

}

在上面的代码示例中,我们使用range语句遍历了字符串"hello",并打印每个字符的索引和对应的字符。

2.3 跳转语句

Go语言中的跳转语句包括break语句、continue语句、goto语句。

2.3.1 break语句

break语句用于跳出最近的for循环或switch语句。

for i := 0; i < 10; i++ {

if i == 5 {

break

}

fmt.Println(i)

}

在上面的代码示例中,我们在i等于5时跳出了for循环,因此只打印了0~4这5个数字。

2.3.2 continue语句

continue语句用于跳过当前循环中的某个迭代。

for i := 0; i < 10; i++ {

if i == 5 {

continue

}

fmt.Println(i)

}

在上面的代码示例中,我们在i等于5时跳过了这次for循环迭代,因此只打印了0~4和6~9这9个数字。

2.3.3 goto语句

goto语句用于无条件地转移到程序中的另一行。

for i := 0; i < 10; i++ {

for j := 0; j < 10; j++ {

if j == 5 {

goto HERE

}

fmt.Printf("%d%d ", i, j)

}

fmt.Println()

}

HERE:

fmt.Println("完成")

在上面的代码示例中,我们在j等于5时跳转到了标记HERE处,并打印了一条完成的消息。

3. 结语

本文介绍了Go语言的基础运算符和流程控制,包括算术运算符、比较运算符、逻辑运算符、条件语句、循环语句、跳转语句等。熟练掌握这些语法知识对于编写高效、可靠的Go语言程序至关重要。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签