3 回答
TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可能需要遍歷切片并找到您要查找的元素。
func main() {
path := "root/alpha/belta"
key := "alpha"
index := getIndexInPath(path, key)
fmt.Println(index)
}
func getIndexInPath(path string, key string) int {
parts := strings.Split(path, "/")
if len(parts) > 0 {
for i := len(parts) - 1; i >= 0; i-- {
if parts[i] == key {
return i
}
}
}
return -1
}
請(qǐng)注意,循環(huán)是向后的,以解決 Burak Serdar 指出的邏輯問(wèn)題,它可能會(huì)在其他路徑上失敗/a/a/a/a。
TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
標(biāo)準(zhǔn)庫(kù)中沒有可用于在字符串切片中搜索的內(nèi)置函數(shù),但如果對(duì)字符串切片進(jìn)行排序,則可以使用它sort.SearchStrings進(jìn)行搜索。但是在未排序的字符串切片的情況下,您必須使用 for 循環(huán)來(lái)實(shí)現(xiàn)它。
- 3 回答
- 0 關(guān)注
- 188 瀏覽
添加回答
舉報(bào)
