亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go語言流程控制之goto語句與無限循環(huán)

 更新時(shí)間:2015年10月30日 14:23:18   投稿:goldensun  
這篇文章主要介紹了Go語言流程控制之goto語句與無限循環(huán),是golang入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

goto語句

在Go編程語言中的goto語句提供無條件跳轉(zhuǎn)從跳轉(zhuǎn)到標(biāo)記聲明的功能。

注意:使用goto語句是高度勸阻的在任何編程語言,因?yàn)樗沟秒y以跟蹤程序的控制流程,使程序難以理解,難以修改。使用一個(gè)goto任何程序可以改寫,以便它不需要goto。

語法
轉(zhuǎn)到goto語句的語法如下:

復(fù)制代碼 代碼如下:

goto label;
..
.
label: statement;


在這里,標(biāo)簽(label)可以是除去關(guān)鍵字任何純文本,它可以在任何地方設(shè)置在Go程序的上方或下方,以使用goto語句。

流程圖:

20151030142150751.jpg (258×307)

例子:

復(fù)制代碼 代碼如下:

package main

import "fmt"

func main() {
   /* local variable definition */
   var a int = 10

   /* do loop execution */
   LOOP: for a < 20 {
      if a == 15 {
         /* skip the iteration */
         a = a + 1
         goto LOOP
      }
      fmt.Printf("value of a: %d\n", a)
      a++    
   } 
}


讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19

無限循環(huán)

一個(gè)循環(huán)變得無限循環(huán),如果條件永遠(yuǎn)不會為假。 for循環(huán)是傳統(tǒng)上用于此目的。由于沒有形成for循環(huán)是必需的三個(gè)表達(dá)式中,可以通過離開條件,使用空表達(dá)式或傳遞true給它形成一個(gè)死循環(huán)。

復(fù)制代碼 代碼如下:

package main

import "fmt"

func main() {
   for true  {
       fmt.Printf("This loop will run forever.\n");
   }
}


當(dāng)條件表達(dá)式為不存在,它被假定為真。你可能有一個(gè)初始化和增量的表達(dá),但C程序員更普遍使用for(;;)結(jié)構(gòu)來表示一個(gè)無限循環(huán)。

注意:您可以通過按Ctrl+ C鍵終止無限循環(huán)。

相關(guān)文章

  • Go學(xué)習(xí)筆記之Zap日志的使用

    Go學(xué)習(xí)筆記之Zap日志的使用

    這篇文章主要為大家詳細(xì)介紹了Go語言中Zap日志的使用以及安裝,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考一下
    2022-07-07
  • Golang反射獲取結(jié)構(gòu)體的值和修改值的代碼示例

    Golang反射獲取結(jié)構(gòu)體的值和修改值的代碼示例

    這篇文章主要給大家介紹了golang反射獲取結(jié)構(gòu)體的值和修改值的代碼示例及演示效果,對我們的學(xué)習(xí)或工作有一定的幫助,感興趣的同學(xué)可以參考閱讀本文
    2023-08-08
  • Go語言中錯(cuò)誤處理的方式總結(jié)

    Go語言中錯(cuò)誤處理的方式總結(jié)

    這篇文章會結(jié)合?errors?中的函數(shù),來討論一下?Go?中常見的?error?使用方式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以了解一下
    2023-07-07
  • Golang map與sync.map的異同詳解

    Golang map與sync.map的異同詳解

    在Go語言中,map和sync.Map都是用于存儲鍵值對的數(shù)據(jù)結(jié)構(gòu),但它們在并發(fā)安全性、性能和使用場景上存在顯著差異,接下來將深入探討這兩種數(shù)據(jù)結(jié)構(gòu)的異同,感興趣的朋友可以參考下
    2024-01-01
  • 使用Go語言開發(fā)一個(gè)命令行文件管理工具

    使用Go語言開發(fā)一個(gè)命令行文件管理工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Go語言開發(fā)一款命令行文件管理工具,支持批量重命名,刪除,創(chuàng)建,移動文件,需要的小伙伴可以了解下
    2025-02-02
  • go語言生成隨機(jī)數(shù)和隨機(jī)字符串的實(shí)現(xiàn)方法

    go語言生成隨機(jī)數(shù)和隨機(jī)字符串的實(shí)現(xiàn)方法

    隨機(jī)數(shù)在很多時(shí)候都可以用到,尤其是登錄時(shí),本文就詳細(xì)的介紹一下go語言生成隨機(jī)數(shù)和隨機(jī)字符串的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-12-12
  • Golang獲取目錄下的文件及目錄信息操作

    Golang獲取目錄下的文件及目錄信息操作

    這篇文章主要介紹了Golang獲取目錄下的文件及目錄信息操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang進(jìn)行xml文件解析的操作方法

    golang進(jìn)行xml文件解析的操作方法

    本文介紹了Go語言中解析XML文件的幾種方法:小文件解析、大文件流式解析和復(fù)雜結(jié)構(gòu)解析,對于小文件,使用標(biāo)準(zhǔn)庫中的encoding/xml包;對于大文件,采用流式解析以避免內(nèi)存溢出,對于復(fù)雜結(jié)構(gòu)的XML文件,推薦使用第三方庫github.com/beevik/etree
    2024-11-11
  • 解決Golang小數(shù)float64在實(shí)際工程中加減乘除的精度問題

    解決Golang小數(shù)float64在實(shí)際工程中加減乘除的精度問題

    這篇文章主要介紹了解決Golang小數(shù)float64在實(shí)際工程中加減乘除的精度問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Go語言使用Swiss Table實(shí)現(xiàn)更快的map

    Go語言使用Swiss Table實(shí)現(xiàn)更快的map

    wiss Table 是一種高效的哈希表實(shí)現(xiàn),最初由 Google 在 C++ 中引入,后來也被其他語言(如 Rust)采用,下面我們看看如何使用 Swiss Table 的思想來實(shí)現(xiàn)一個(gè)更快的 Go map
    2025-03-03

最新評論