Golang中的跳转语句有哪些
更新时间:2023-07-171. break
在Golang中,使用`break`语句可以中断当前所在循环或switch语句的执行,并结束循环或switch的当前块。这样可以通过判断满足某些条件时跳出循环,避免执行之后的代码块。
for i := 0; i < 5; i++ { if i == 3 { break // 当i等于3时,跳出循环 } fmt.Println(i) }
以上代码中,循环执行5次,当`i`等于3时,执行`break`语句并跳出循环,所以输出结果为:
0 1 2
2. continue
与`break`不同,使用`continue`语句可以跳过循环中剩余的代码,直接进入下一次循环。`continue`语句常用于循环体中的某些特定条件下,终止当前循环的执行,跳转到循环的下一次迭代。
for i := 0; i < 5; i++ { if i == 3 { continue // 当i等于3时,跳过当前循环,继续下一个迭代 } fmt.Println(i) }
以上代码中,循环执行5次,当`i`等于3时,执行`continue`语句并跳过当前循环,继续下一次循环,所以输出结果为:
0 1 2 4
3. goto
在Golang中,可以使用`goto`语句根据标签名称直接跳转到代码块中某个标签所在的位置。`goto`语句可以用于在当前函数内跳转到任何位置,并从标签所在位置继续执行。
i := 0 Loop: for i < 5 { fmt.Println(i) i++ if i == 3 { goto Loop // 当i等于3时,跳转到Loop标签所在的位置 } }
以上代码中,循环执行时,当`i`等于3时,执行`goto`语句跳转到标签`Loop`所在位置,继续循环,所以输出结果为:
0 1 2 0 1 2 0 1 2 0 1 2
4. return
`return`语句用于从函数中返回结果,并结束函数的执行。当函数执行到`return`语句时,将返回指定的值(或默认值),并立即退出函数。
func divide(x, y float64) (float64, error) { if y == 0 { return 0, errors.New("Division by zero is not allowed") } return x / y, nil }
以上代码中,函数`divide`用于执行两个浮点数相除的操作,如果`y`等于0,将返回错误信息;否则返回结果。下面是一个函数的调用示例:
result, err := divide(10, 5) if err != nil { fmt.Println(err) return } fmt.Println(result)
在函数调用时,如果返回错误则打印错误信息并结束函数执行,否则输出计算结果。
总结一下,Golang中常用的跳转语句有`break`、`continue`、`goto`和`return`。`break`用于跳出循环或switch语句,`continue`用于跳过当前循环迭代,`goto`用于无条件跳转到指定的标签位置,`return`用于从函数中返回结果并结束函数执行。通过合理使用这些跳转语句,可以更好地控制程序的流程和逻辑。