找出切片中元素的位置
在 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中文網其他相關文章!