返回
编程启航:深入理解Go语言中的if判断、for循环和goto
后端
2023-11-03 14:30:35
Go语言if判断和for循环实战
if判断
在Go语言中,if判断用于在程序中实现分支控制,根据给定的条件来执行不同的代码块。if判断的基本语法如下:
if condition {
// condition为真时执行的代码块
} else if condition {
// condition为真时执行的代码块
} else {
// condition为假时执行的代码块
}
示例代码:
package main
import "fmt"
func main() {
num := 10
if num > 0 {
fmt.Println("num is positive")
} else if num < 0 {
fmt.Println("num is negative")
} else {
fmt.Println("num is zero")
}
}
输出:
num is positive
for循环
在Go语言中,for循环用于在程序中重复执行一段代码块,直到循环条件不再满足。for循环的基本语法如下:
for condition {
// condition为真时执行的代码块
}
示例代码:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
输出:
0
1
2
3
4
5
6
7
8
9
fori循环
在Go语言中,fori循环是一种特殊的for循环,用于遍历数组、切片、映射和其他可迭代对象。fori循环的基本语法如下:
for i, v := range iterable {
// i为索引,v为元素
}
示例代码:
package main
import "fmt"
func main() {
arr := [5]int{1, 2, 3, 4, 5}
for i, v := range arr {
fmt.Println(i, v)
}
}
输出:
0 1
1 2
2 3
3 4
4 5
for range
在Go语言中,for range循环是一种特殊的for循环,用于遍历管道和通道。for range循环的基本语法如下:
for v := range channel {
// v为管道或通道中的值
}
示例代码:
package main
import (
"fmt"
"time"
)
func main() {
ch := make(chan int)
go func() {
for i := 0; i < 10; i++ {
ch <- i
}
close(ch)
}()
for v := range ch {
fmt.Println(v)
}
}
输出:
0
1
2
3
4
5
6
7
8
9
for循环作用域
在Go语言中,for循环的作用域与函数作用域相同,即for循环内的变量只在for循环内可见。如果需要在for循环外访问for循环内的变量,则需要将变量声明在for循环外。
示例代码:
package main
import "fmt"
func main() {
var num int
for i := 0; i < 10; i++ {
num = i
}
fmt.Println(num) // 输出10
}
goto如何使用
在Go语言中,goto用于实现程序的非顺序控制,即跳转到程序中的其他位置。goto的基本语法如下:
goto label
其中,label为跳转的目标位置。
示例代码:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
goto end
}
fmt.Println(i)
}
end:
fmt.Println("End of loop")
}
输出:
0
1
2
3
4
End of loop
goto的使用需要注意的问题
在Go语言中,goto的使用需要注意以下问题:
- goto应该谨慎使用,过多使用goto会导致程序难以理解和维护。
- goto只能跳转到同一函数内的其他位置,不能跳转到其他函数。
- goto不能跳转到循环的中间,只能跳转到循环的开始或结束。
- goto不能跳转到switch语句的中间,只能跳转到switch语句的开始或结束。
使用for循环打印9*9乘法表的实战应用
package main
import "fmt"
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d x %d = %d\t", i, j, i*j)
}
fmt.Println()
}
}
输出:
1 x 1 = 1
2 x 1 = 2
2 x 2 = 4
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
6 x 1 = 6
6 x 2 = 12
6 x 3 = 18
6 x 4 = 24
6 x 5 = 30
6 x 6 = 36
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
8 x 1 = 8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
9 x 1 = 9
9 x 2 = 18
9 x 3 = 27
9 x 4 = 36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
总结
这篇文章全面讲解了Go语言中的if判断、for循环(包括fori循环和for range)及goto的使用,并通过示例代码展现了for循环在打印9*9乘法表中的应用,希望读者能更好地掌握这些基础知识,并在实际编程中灵活运用。