Go语言提供了多种控制结构来帮助程序员编写逻辑清晰的代码。这些控制结构包括但不限于条件语句、循环语句以及跳转语句。下面是Go语言中一些常见的控制结构及其用法:
1. 条件语句
if 语句:用于根据条件执行代码块。
if x > 0 { fmt.Println("x is positive") } else if x < 0 { fmt.Println("x is negative") } else { fmt.Println("x is zero") }
switch 语句:用于多条件分支选择。
switch os := runtime.GOOS; os { case "darwin": fmt.Println("OS X.") case "linux": fmt.Println("Linux.") default: // freebsd, openbsd, // plan9, windows... fmt.Printf("%s.\n", os) }
2. 循环语句
- for 语句:Go语言中唯一的循环结构,可以实现多种循环模式。
- 基本形式:
for i := 0; i < 10; i++ { fmt.Println(i) }
- 无限循环:
for { // 循环体 }
- 遍历数组或切片:
arr := []int{ 1, 2, 3, 4, 5} for index, value := range arr { fmt.Printf("arr[%d] = %d\n", index, value) }
- 基本形式:
3. 跳转语句
break 语句:用于提前结束循环。
for i := 0; i < 10; i++ { if i == 5 { break } fmt.Println(i) }
continue 语句:用于跳过当前循环的剩余部分,并立即开始下一次迭代。
for i := 0; i < 10; i++ { if i%2 == 0 { continue } fmt.Println(i) }
goto 语句:虽然存在,但通常不推荐使用,因为它会使程序难以理解和维护。
i := 0 loop: i++ if i < 10 { goto loop }
4. 其他控制结构
- defer 语句:用于延迟函数调用到周围函数返回之前执行。
func main() { defer fmt.Println("world") fmt.Println("hello") } // 输出: hello world
以上就是Go语言中常用的控制结构。合理使用这些控制结构可以使你的程序更加高效、易于理解。在实际编程过程中,应该根据具体需求选择合适的控制结构。