首頁 >後端開發 >Golang >如果第一次符合條件,如何跳過切片中的值

如果第一次符合條件,如何跳過切片中的值

王林
王林轉載
2024-02-08 21:15:211251瀏覽

如果第一次符合條件,如何跳過切片中的值

php小編香蕉將為大家介紹如何在切片中跳過第一次符合條件的值。在開發過程中,我們經常需要處理數組或字串的切片,但有時我們希望在切片中跳過滿足特定條件的第一個值。這可能是因為我們只關心後續的配對結果,或是只需要處理特定位置之後的值。接下來,我們將探討幾種解決方案,以幫助您實現這個目標。

問題內容

如果條件符合一次,如何跳過切片中的值。

func main() {

    cloud := []string{"moon", "earth", "moon-light"}

    for _, value := range cloud {

        if strings.Contains(value, "mo") {
            fmt.Println("print1")
        } else if strings.Contains(value, "ear") {
            fmt.Println("print2")
        }
    }
}

輸出: 列印1 列印2 列印1

預期輸出: 列印1 列印2

謝謝!

解決方法

您可以使用地圖來了解特定情況是否發生。 它比使用變數更好,因為它允許您追蹤大量條件而不會造成任何混亂。這是您想要的範例:

cloud := []string{"moon", "earth", "moon-light"}
var conditionTracker = make(map[string]bool)

for _, value := range cloud {

    if _, ok := conditionTracker["first_condition"]; !ok && strings.Contains(value, "mo") {
        conditionTracker["first_condition"] = true
        fmt.Println("print1")
    } else if _, ok := conditionTracker["second_condition"]; !ok && strings.Contains(value, "ear") {
        conditionTracker["second_condition"] = true
        fmt.Println("print2")
    }
}

以上是如果第一次符合條件,如何跳過切片中的值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除