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

如何找到Go Slice中元素的位置?

Linda Hamilton
發布: 2024-12-20 00:25:09
原創
602 人瀏覽過

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

找出切片中的元素位置

通用函式庫函數不支援在 Go 中決定切片中元素的位置。 Go 的語言設計缺乏一種簡單的方法來定義適用於任何切片類型的函數。

自訂實作

您可以定義自己的函數,如程式碼範例所示您提供的,要完成此任務:

type intSlice []int

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

此函數迭代切片,將每個元素與指定值進行比較。如果找到該值,則返回其位置;否則,返回 -1。

雖然此函數有效,但可以透過使用較短範圍的語法進行較小的改進:

func (slice intSlice) pos(value int) int {
    for i, v := range slice {
        if v == value {
            return i
        }
    }
    return -1
}
登入後複製

位元組切片的替代方法

如果您的切片包含位元組元素,則可以使用bytes.IndexByte 函數來尋找特定位元組值的位置。其文法如下:

func IndexByte(s \[\]byte, c byte) int
登入後複製

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

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