4 回答

TA貢獻1812條經驗 獲得超5個贊
中斷
語句僅從 中斷為
、切換
或選擇
。沒有中斷語句可以從 if
或任意塊中斷。如果可能的話,重新組織和重新排列你的條件,這樣你就不會最終陷入你想脫離.if
你也可以做的是使用一個函數(匿名或命名的),當你想要“中斷”時,從它返回:
if condition {
func() {
if nestedCondition {
// To break:
return
}
if otherNestedCondition {
// logic
}
}()
}
if otherCondition {
//logic
}
if condition {
if nestedCondition {
// To break:
goto outside
}
if otherNestedCondition {
// logic
}
}
outside:
if otherCondition {
//logic
}
盡管請注意,在Go(以及大多數語言中)使用非常罕見,并且不應該“過度使用”(或根本使用)。goto

TA貢獻1824條經驗 獲得超8個贊
您可以平展 if 子句:
if a {
if b {
// do stuff
// this is where we want to "break"
}
if c {
// do other stuff
}
}
if d {
// do even more stuff
}
可能變成
e := true
if a && b {
// do stuff
e = false
}
if a && c && e { // this will get skipped if e is false
// do other stuff
}
if d {
// do even more stuff
}
通常,嵌套較少的 if 子句更易于閱讀?;蛘?,您可以按照其他帖子中的建議隱藏函數中的復雜性。

TA貢獻1836條經驗 獲得超13個贊
盡管實現您嘗試執行的操作的正確方法是重構流,但這可能是使用 的適當情況。goto
if condition {
if nestedCondition {
// logic
goto otherCondition
}
if otherNestedCondition {
// logic
}
}
otherCondition:{
//logic
}
- 4 回答
- 0 關注
- 278 瀏覽
添加回答
舉報