1. 程式人生 > >Go: break label與goto label的區別

Go: break label與goto label的區別

與其他語言一樣,Go語言也支援label(標籤)語法:分別是break label和 goto label

這樣使得程式設計時變得異常靈活,但是由於在大專案中不好控制,所以建議能不使用goto label就不要使用

break label 和 goto label都能在迴圈中跳出迴圈,但是又有些不同之處。

首先說下break label,break的跳轉標籤(label)必須放在迴圈語句for前面,並且在break label跳出迴圈不再執行for迴圈裡的程式碼。


當我們把標籤定義在break的下面時,我們會發現執行時報錯。


另外:break標籤只能用於for迴圈


而goto label的label(標籤)既可以定義在for迴圈前面,也可以定義在for迴圈後面,當跳轉到標籤地方時,繼續執行標籤下面的程式碼。

label標籤定義在for迴圈上面的情況


label標籤定義在for迴圈下面的情況


相關推薦

Go: break labelgoto label區別

與其他語言一樣,Go語言也支援label(標籤)語法:分別是break label和 goto label 這樣使得程式設計時變得異常靈活,但是由於在大專案中不好控制,所以建議能不使用goto label就不要使用 break label 和 goto label都能在迴圈

break和continue以及label區別和作用

跳出循環 跟著 但是 一次循環 循環語句 怎麽辦 次循環 完全 語句 break和continue的區別和作用:break用於完全結束一個循環[一般只退出一重循環],跳出循環體執行循環後面的語句continue是跳過當次循環中剩下的語句,執行下一次循環。標號label  

JavaScript中labelbreak配合使用

出了 -m for循環 情況 let console bre pre code 語法 label: statement 說明 label語句可以在代碼中添加標簽,以便將來使用。定義的標簽可以在將來由break或continue語句引用。加標簽的語句一般都要與for語

go break select for LABEL

22 I know that switch/select statements break automatically after every case. I am wondering, in the following code: for { swi

whiledo while 區別 for循環的簡介及break和continue的區別

停止 alt 執行c light div type 結構 輸入 n) do while 循環和while循環的區別 1、do while循環是先執行循環體,然後判斷循環條件,如果為真,則執行下一步循環,否則終止循環; while循環是先判斷循環條件,如果條件為真則

Python中breakcontinue的區別

主動 tro 開始 bubuko while 打印 .com pos 結束 1.break 結束循環 count = 0 while count < 10: print(‘hello,Jay‘, count) break count = co

循環語句中break continue的區別

ret tty dsm csdn 循環 ade 跳出循環 com %d 循環語句中break 與 continue的區別 總結: 1 break; while循環break是用於永久終止循環。即不執行本次循環中break後面的語句,直接跳出循環。 2con

迴圈語句中break continue的區別

迴圈語句中break 與 continue的區別 總結: 1 break; while迴圈break是用於永久終止迴圈。即不執行本次迴圈中break後面的語句,直接跳出迴圈。 2continue; while迴圈continue是用於終止本次迴圈。即本次迴圈中c

JAVA中 Breakreturn的區別

break是用來跳出迴圈的,例如for,while,do-while都可以跳出,但不跳出函式 return是使整個函式返回的,後面的不管是迴圈裡面還是迴圈外面的都不執行 再說一下,break語句通常用在迴圈語句和開關語句中,當break語句用於do-while、for、w

Java之路:break、continuereturn的區別

1、不帶標籤break public class BCR { public static void main(String[] args) { int i, j; for(i = 1; i < 10; i++) { for(j = 1; j < 10; j++

Go語言中Println Printf 的區別

Println 與Printf 都是fmt 包中的公共方法,在需要列印資訊時需要用到這二個函式 Println :可以打印出字串,和變數  Printf : 只可以打印出格式化的字串,可以輸出字串型別的變數,不可以輸出整形變數和整形 a := 10 fmt.Println(a) 

Go 學習筆記:Println Printf 的區別,以及 Printf 的詳細用法

Println 與Printf 都是fmt 包中的公共方法,在需要列印資訊時需要用到這二個函式,那麼這二個函式有什麼區別呢? Println :可以打印出字串,和變數 Printf : 只可以打印出格式化的字串,可以輸出字串型別的變數,不可以輸出整形變數和整

用uboot 燒寫uboot linux核心 檔案系統到nandflash的 過程以及bootm go命令啟動區別

文章結構 結構順序有變化 -1:燒寫uboot 0: bootargs bootcmd 命令引數的設定 1:製作yaffs2的過程 2:燒寫yaffs2的過程 3:製作uimage 的過程 4: 燒寫uiamge的過程 5:uimage zimage vm

用uboot 燒寫uboot linux核心 檔案系統到nandflash的 過程以及bootm go命令啟動區別(2010-12-19 17:27:43)

文章結構 結構順序有變化 -1:燒寫uboot 0: bootargs bootcmd 命令引數的設定 1:製作yaffs2的過程 2:燒寫yaffs2的過程 3:製作uimage 的過程 4: 燒寫uiamge的過程 5:uimage zimage vmlinux 的區別 6: uboot傳遞給核心的引數結

迴圈中 break continue 的區別

break語句:break語句可用於跳出迴圈,break語句跳出迴圈後,會繼續執行該迴圈之後的程式碼(如果有的話)。 continue語句:continue語句中斷迴圈,如果出現了指定的條件,然後繼續迴圈中的下一個迭代。<span style="white-space

go語言使用之介面繼承的區別

本篇文章介紹go語言中,面向物件程式設計中繼承與介面的區別。通過案列剖析,進一步加深對兩者理解。 一、go語言的面向物件程式設計概述 我對於Go語言面向物件程式設計理解有以下五點: 1、Golang支援面向物件程式設計(OOP[object orien

GO的structC的struct區別

1、struct的宣告 GO中: type student struct { Name string Age int } C中 #include <stdio.h> typedef struct Student{

Extjs4中的Form之labeltextfield配合的使用

//上下佈局可以這麼用,label在上,textfield在下,一般情況用textfield就行 Ext.onReady(function(){ Ext.QuickTips.init(); Ext.create("Ext.form.Panel",{ title:'本

golang跳轉語句goto,break,continue的使用及區別

goto goto語句可以無條件地轉移到過程中指定的行。 通常與條件語句配合使用。可用來實現條件轉移, 構成迴圈,跳出迴圈體等功能。 在結構化程式設計中一般不主張使用goto語句, 以免造成程式流程的

go切片結構體測試---copy函式=操作符的區別

packagemainimport"fmt"funcmain(){s:=[]string{"1","2","3","4","5","6","7","8","9"}//定義切片fmt.Printf("%v