【发布时间】:2019-03-11 15:54:43
【问题描述】:
我想查找包含在字节数组中的所有字符串的索引。
func findAllOccurrences(data []byte, searches []string) map[string][]int {
var results map[string][]int
for _, search := range searches {
firstMatch = bytes.Index(data, []byte(search))
results[search] = append(results[search], firstMatch)
// How do I find subsequent the rest of the matches?
}
return results
}
找到第一个Index() 很简单,但是我怎样才能以惯用的方式找到所有个而不消耗不必要的内存?
【问题讨论】:
-
我看到还有一个名为
LastIndex的方法,你可以使用它,并为下一次迭代不断减小字节数组的大小。它返回最后一个匹配的索引,所以你总是有一个少一个的数组,你可以保留一个计数或匹配任何东西。