Go语言入门(条件语句和循环语句)
- 目录
- 四、条件语句和循环语句
- 1. 条件语句
- 1.1 if 语句
- 1.2 if-else 语句
- 1.3 if-else if-else 语句
- 1.4 带初始化语句的 if
- 1.5 switch 语句
- 1.6 带条件的 switch
- 1.7 多个条件的 case
- 2. 循环语句
- 2.1 基本 for 循环
- 2.2 省略初始化语句和后置语句的 for 循环
- 2.3 无限循环
- 2.4 使用 range 的 for 循环
- 3. 控制语句
- 3.1 break 语句
- 3.2 continue 语句
- 3.3 goto 语句
目录
Go 语言(Golang)是一种静态类型、编译型语言,由 Google 开发,专注于简洁性、并发和高效性。
下面是 Go 语言的基础语法讲解和代码示例。
上一篇:三、Go语言入门(运算符)
四、条件语句和循环语句
Go 语言中,条件语句和循环语句是控制程序流的基本结构。通过这些语句,可以实现不同的逻辑分支和重复操作。下面详细讲解 Go 语言中的条件语句和循环语句,并提供代码示例。
1. 条件语句
1.1 if 语句
if 语句用于条件判断。基本语法如下:
if condition {
// 当 condition 为 true 时执行
}
package main
import "fmt"
func main() {
age := 20
if age >= 18 {
fmt.Println("You are an adult.")
}
}
1.2 if-else 语句
if-else 语句用于在条件为 false 时执行另一个分支。
package main
import "fmt"
func main() {
age := 16
if age >= 18 {
fmt.Println("You are an adult.")
} else {
fmt.Println("You are a minor.")
}
}
1.3 if-else if-else 语句
if-else if-else 语句用于多个条件判断。
package main
import "fmt"
func main() {
score := 85
if score >= 90 {
fmt.Println("Grade: A")
} else if score >= 80 {
fmt.Println("Grade: B")
} else if score >= 70 {
fmt.Println("Grade: C")
} else if score >= 60 {
fmt.Println("Grade: D")
} else {
fmt.Println("Grade: F")
}
}
1.4 带初始化语句的 if
if 语句支持在条件判断之前执行一个简单的语句。这个语句的作用域仅限于 if 语句块。
package main
import "fmt"
func main() {
if x := 10; x > 5 {
fmt.Println("x is greater than 5")
}
// fmt.Println(x) // 这里不能访问 x,因其作用域仅限于 if 语句块
}
1.5 switch 语句
switch 语句用于简化多个条件判断。每个 case 分支会自动终止,除非使用 fallthrough 关键字。
package main
import "fmt"
func main() {
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
case 4:
fmt.Println("Thursday")
case 5:
fmt.Println("Friday")
default:
fmt.Println("Weekend")
}
}
1.6 带条件的 switch
switch 语句可以不带表达式,这时每个 case 都是一个独立的条件判断。
package main
import "fmt"
func main() {
num := -10
switch {
case num < 0:
fmt.Println("Number is negative")
case num == 0:
fmt.Println("Number is zero")
case num > 0:
fmt.Println("Number is positive")
}
}
1.7 多个条件的 case
一个 case 分支可以包含多个条件,用逗号分隔。
package main
import "fmt"
func main() {
char := 'a'
switch char {
case 'a', 'e', 'i', 'o', 'u':
fmt.Println("Vowel")
default:
fmt.Println("Consonant")
}
}
2. 循环语句
for 是 Go 唯一的循环语句,可以实现各种循环结构。
2.1 基本 for 循环
for 循环包括初始化语句、条件表达式和后置语句。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}
2.2 省略初始化语句和后置语句的 for 循环
可以省略 for 循环的初始化语句和后置语句。
package main
import "fmt"
func main() {
i := 0
for i < 5 {
fmt.Println(i)
i++
}
}
2.3 无限循环
省略条件表达式,可以创建一个无限循环。
package main
import "fmt"
func main() {
i := 0
for {
fmt.Println(i)
i++
if i >= 5 {
break
}
}
}
2.4 使用 range 的 for 循环
range 关键字可以用来迭代数组、切片、字符串、映射和通道。
package main
import "fmt"
func main() {
// 迭代数组
arr := [5]int{1, 2, 3, 4, 5}
for index, value := range arr {
fmt.Println("Index:", index, "Value:", value)
}
// 迭代字符串
str := "hello"
for index, char := range str {
fmt.Println("Index:", index, "Char:", char)
}
// 迭代映射
m := map[string]int{"a": 1, "b": 2}
for key, value := range m {
fmt.Println("Key:", key, "Value:", value)
}
}
3. 控制语句
break 和 continue 用于控制循环的执行。
3.1 break 语句
break 用于终止循环。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
break
}
fmt.Println(i)
}
}
3.2 continue 语句
continue 用于跳过当前迭代,继续下一次迭代。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue
}
fmt.Println(i)
}
}
3.3 goto 语句
Go 语言还支持 goto 语句用于无条件跳转,尽量避免使用 goto,以保持代码的可读性和可维护性。
package main
import "fmt"
func main() {
i := 0
Loop:
fmt.Println(i)
i++
if i < 5 {
goto Loop
}
}
通过理解条件语句和循环语句,可以编写逻辑复杂且结构清晰的 Go 语言程序。这些控制结构是编程中不可或缺的部分,掌握它们将极大提升你的编程能力。
下一篇:五、Go语言入门(数组、切片和指针)