1. 程式人生 > 其它 >Go語言基礎之流程控制goto

Go語言基礎之流程控制goto

Go語言基礎之流程控制goto

一、goto(跳轉到指定標籤)

goto語句通過標籤進行程式碼間的無條件跳轉。goto語句可以在快速跳出迴圈、避免重複退出上有一定的幫助。Go語言中使用goto語句能簡化一些程式碼的實現過程。 例如雙層巢狀的for迴圈要退出時:

func gotoDemo1() {
	var breakFlag bool
	for i := 0; i < 10; i++ {
		for j := 0; j < 10; j++ {
			if j == 2 {
				// 設定退出標籤
				breakFlag = true
				break
			}
			fmt.Printf("%v-%v\n", i, j)
		}
		// 外層for迴圈判斷
		if breakFlag {
			break
		}
	}
}

使用goto語句能簡化程式碼:

package main

import "fmt"

func gotoDemo2() {
	for i := 0; i < 10; i++ {
		for j := 0; j < 10; j++ {
			if j == 2 {
				// 設定退出標籤
				goto breakTag
			}
			fmt.Printf("%v-%v\n", i, j)
		}
	}
	return
	// 標籤
breakTag:
	fmt.Println("結束for迴圈")
}

func main() {
    gotoDemo2()
}

二、總結

  1. goto跳轉到指定標籤中
標籤名:
	表示式
goto 標籤名
在當下的階段,必將由程式設計師來主導,甚至比以往更甚。