涉及到流程控制时,Go语言提供了许多选项来满足不同需求的编程场景。以下是一些常见的流程控制语句:
当涉及到流程控制时,Go语言提供了许多选项来满足不同需求的编程场景。以下是一些常见的流程控制语句以及相应的示例:
条件语句
if语句
if语句允许您根据条件执行代码。以下是一个简单的if语句示例:
package main
import "fmt"
func main() {
x := 10
if x < 5 {
fmt.Println("x is less than 5")
} else {
fmt.Println("x is greater than or equal to 5")
}
}
if-else if语句
if-else if语句允许您根据多个条件执行代码。以下是一个if-else if语句的示例:
package main
import "fmt"
func main() {
x := 10
if x = 5 && x < 15 {
fmt.Println("x is between 5 and 14")
} else {
fmt.Println("x is greater than or equal to 15")
}
}
switch语句
switch语句可以根据不同情况执行不同的代码块。以下是一个switch语句的示例:
package main
import "fmt"
func main() {
x := 2
switch x {
case 1:
fmt.Println("x is 1")
case 2:
fmt.Println("x is 2")
case 3:
fmt.Println("x is 3")
default:
fmt.Println("x is not 1, 2, or 3")
}
}
当涉及到流程控制时,Go语言提供了许多选项来满足不同需求的编程场景。以下是一些常见的流程控制语句以及相应的示例:
循环语句
for循环
for循环用于重复执行一组代码。以下是一个简单的for循环示例:
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}
range循环
range循环可以用于遍历数组、切片、映射和通道等数据结构中的元素。以下是一个使用range循环遍历切片的示例:
package main
import "fmt"
func main() {
s := []string{"apple", "banana", "orange"}
for i, v := range s {
fmt.Println(i, v)
}
}
跳转语句
goto语句
goto语句可以将控制转移到指定标签处的代码行。以下是一个使用goto语句跳转到标签的示例:
package main
import "fmt"
func main() {
i := 0
loop:
if i < 5 {
fmt.Println(i)
i++
goto loop
}
}
continue语句
continue
跳过当前迭代:for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // 跳过偶数
}
fmt.Println(i)
}
输出为:
1
3
5
7
9
continue
跳过外层循环的当前迭代:for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i == j {
continue // 跳过 i == j 的情况
}
fmt.Println(i, j)
}
}
输出为:
0 1
0 2
1 0
1 2
2 0
2 1
continue
跳过当前case:var x interface{} = "hello"
switch v := x.(type) {
case int:
fmt.Printf("twice %v is %v\n", v, v*2)
case string:
if len(v) == 0 {
continue // 空字符串则跳过
}
fmt.Println("string of length", len(v))
default:
fmt.Printf("unexpected type %T\n", v)
}
输出为:
string of length 5
这些示例展示了continue
语句在不同场景下的使用,它可以帮助我们跳过当前迭代或case,进入下一轮迭代或case。
break语句
当在循环或选择语句中使用break
语句时,程序将跳出该语句并继续执行下一条语句。以下是一些关于Go中break
语句的示例代码:
在for循环中使用break
package main
import "fmt"
func main() {
// 打印0-9间的奇数
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // 如果为偶数则跳过,继续下一次循环
}
fmt.Println(i)
if i == 5 {
break // 当i等于5时跳出循环
}
}
}
输出结果:
1
3
5
在switch语句中使用break
package main
import "fmt"
func main() {
// 根据不同的数字输出不同的文本
number := 3
switch number {
case 1:
fmt.Println("这是第一个数字")
case 2:
fmt.Println("这是第二个数字")
case 3:
fmt.Println("这是第三个数字")
break // 当number等于3时跳出switch语句
case 4:
fmt.Println("这是第四个数字")
default:
fmt.Println("这不是一个有效的数字")
}
}
输出结果:
这是第三个数字
嵌套循环中使用break
package main
import "fmt"
func main() {
// 打印九九乘法表中的前三行
for i := 1; i