首頁 >後端開發 >Golang >如何找到Go Slice中元素的索引?

如何找到Go Slice中元素的索引?

Linda Hamilton
Linda Hamilton原創
2024-12-11 21:07:11719瀏覽

How Can I Find the Index of an Element in a Go Slice?

找出切片中元素的位置

在 Go 中確定切片中元素的位置可能是一項有用的任務。然而,與其他語言不同的是,沒有通用庫函數可以直接執行此操作。

自訂解決方案

一種方法是專門為切片類型建立自訂函數:

type intSlice []int

func (slice intSlice) pos(value int) int {
    for p, v := range slice {
        if v == value {
            return p
        }
    }
    return -1
}

此函數迭代切片中的元素,將每個元素與正在搜尋的值進行比較。如果找到匹配項,則傳回元素的位置。

注意事項

雖然您的自訂函數有效,但請務必注意,它僅適用於 int切片。如果您需要在不同類型的切片中搜尋特定值,則需要專門為該類型建立一個新函數。

位元組切片

對於位元組切片,有一個名為 bytes.IndexByte的內建函數,可用來找出位元組值在切片中的位置slice:

package bytes

func IndexByte(s []byte, b byte) int

結論

在Go 中確定切片中元素的位置需要自定義函數或對位元組切片使用bytes.IndexByte 。雖然沒有通用函式庫函數可以為所有切片類型執行此任務,但自訂方法提供了一種搜尋特定切片類型中的元素的便捷方法。

以上是如何找到Go Slice中元素的索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn