您好,登錄后才能下訂單哦!
這篇文章主要介紹“go語言的跳轉語句怎么使用”,在日常操作中,相信很多人在go語言的跳轉語句怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”go語言的跳轉語句怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
跳轉語句有:1、break語句,用于退出循環或者退出一個switch語句,讓程序繼續執行循環之后的代碼,語法“break;”;2、continue語句用于退出本次循環,并開始下一次循環,語法“continue;”;3、與標簽結合跳轉到指定的標簽語句,語法“標簽 + :”;4、goto語句,用于無條件地轉移到程序中指定的行,語法“goto 標簽;... ...標簽: 表達式;”。
break 與 continue 語句
和其他編程語言一樣,Go 語言支持在循環語句中通過 break 語句跳出循環,通過 continue 語句進入下一個循環。
關于 break 的基本使用示例我們在上篇教程中已經演示過,break 的默認作用范圍是該語句所在的最內部的循環體:
arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
num := arr[i][j]
if j > 1 {
break
}
fmt.Println(num)
}
}
比如這里的 break 的含義是在 j > 1 時退出最內部的循環,否則打印當前位置的數字。
continue 則用于忽略剩余的循環體而直接進入下一次循環的過程:
arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
num := arr[i][j]
if j > 1 {
break
} else {
continue
}
fmt.Println(num)
}
}
如果我們這樣改寫程序的話,上述代碼不會打印任何值,因為 continue 語句會忽略后續代碼直接進入下一個循環。
標簽
Go 語言的 break 和 contine 與其他語言的不同之處在于支持與標簽結合跳轉到指定的標簽語句,從而改變這兩個語句的默認跳轉邏輯,標簽語句通過標簽 + :
進行聲明:
arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
ITERATOR1:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
num := arr[i][j]
if j > 1 {
break ITERATOR1
}
fmt.Println(num)
}
}
這樣一來,原本退出當前循環體的 break 語句現在改為跳轉到 ITERATOR1 標簽對應的位置,所以對應的打印結果是:
1
2
因為此時 break 會直接跳出外層循環,如果把 break 改成 continue 則打印結果如下:
1
2
4
5
7
8
goto 語句
goto 語句被多數語言學者所反對,告誡大家不要使用,因為很容易造成代碼邏輯混亂,進而導致不易發現的 bug。但 Go 語言仍然支持 goto 關鍵字,goto 語句的語義非常簡單,就是跳轉到本函數內的某個標簽,如:
arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
num := arr[i][j]
if j > 1 {
goto EXIT
}
fmt.Println(num)
}
}
EXIT:
fmt.Println("Exit.")
當第一次滿足 j > 1
的條件時,代碼就會跳轉到 EXIT
標簽指定的位置,繼續后續代碼執行,所以上述代碼的輸出是:
1
2
Exit.
到此,關于“go語言的跳轉語句怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。