首頁 > 後端開發 > Golang > 主體

為什麼 Go 包含「goto」語句?

Patricia Arquette
發布: 2024-11-16 13:39:03
原創
672 人瀏覽過

Why Does Go Include the

Go 的「goto」語句及其目的

與過去將「goto」語句作為程式設計實踐的普遍看法相反, Go 令人驚訝地將它們包含在其語法中。儘管人們普遍認為函數和方法對於流量控制來說更優越,但關於這項決定背後的理由仍然存在疑問。

Google 包含「goto」的動機

Go 程式庫中「goto」語句的存在表示它們有特定的用途。檢查 Go 標準函式庫的原始程式碼可以發現明智地使用“goto”的實例。

數學庫中的範例

在math/gamma.go 中檔案中,「goto」的使用方式如下:

for x < 0 {
    if x > -1e-09 {
      goto small
    }
    z = z / x
    x = x + 1
}
for x < 2 {
    if x < 1e-09 {
      goto small
    }
    z = z / x
    x = x + 1
}

// (Rest of the code omitted)

small:
  if x == 0 {
    return Inf(1)
  }
  return z / ((1 + Euler*x) * x)
}
登入後複製

在此範例中,「gotosmall」語句允許從巢狀循環中簡潔且易於理解地退出,而不需要控制流的輔助變數。這透過消除不必要的複雜性來簡化程式碼的可讀性和可維護性。

對「goto」的限制

需要注意的是,Go 的「goto」語句是受約束的到一定的限制。它不能用於跳過進入作用域或進入不同程式碼區塊的變數。這些限制確保「goto」得到負責任的使用,並且不會損害程式碼的清晰度或可預測性。

以上是為什麼 Go 包含「goto」語句?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板