欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

goto語句

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

注意:使用goto語句是高度勸阻的在任何編程語言,因為它使得難以跟蹤程序的控制流程,使程序難以理解,難以修改。使用一個goto任何程序可以改寫,以便它不需要goto。

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

復制代碼 代碼如下:

goto label;
..
.
label: statement;


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

流程圖:

20151030142150751.jpg (258×307)

例子:

復制代碼 代碼如下:

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++    
   } 
}


讓我們編譯和運行上面的程序,這將產(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)

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

復制代碼 代碼如下:

package main

import "fmt"

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


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

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

相關(guān)文章

  • Go學習筆記之Zap日志的使用

    Go學習筆記之Zap日志的使用

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

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

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

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

    這篇文章會結(jié)合?errors?中的函數(shù),來討論一下?Go?中常見的?error?使用方式,文中的示例代碼講解詳細,具有一定的學習價值,需要的可以了解一下
    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ā)一個命令行文件管理工具

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

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

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

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

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

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

    golang進行xml文件解析的操作方法

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

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

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

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

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

最新評論