В Go (Golang) нет встроенной функции indexof для поиска индекса элемента в срезе или строке. Однако существует несколько альтернативных методов, которые можно использовать для достижения аналогичной функциональности. Вот несколько подходов:
-
Использование цикла for:
Вы можете перебирать элементы в срезе или строке и сравнивать каждый элемент с целевым значением, пока не будет найдено совпадение. Как только совпадение будет найдено, вы сможете вернуть индекс. -
Использование функции strings.Index():
Если вы ищете индекс подстроки внутри строки, вы можете использовать функциюstrings.Index(). Он возвращает индекс первого вхождения подстроки или -1, если подстрока не найдена. -
Использование функции sort.Search():
Если у вас есть отсортированный фрагмент или массив, вы можете использовать функциюsort.Search()для выполнения двоичного поиска и эффективно найти индекс целевого значения.
Вот пример использования цикла for:
func indexOf(slice []string, target string) int {
for i, value := range slice {
if value == target {
return i
}
}
return -1 // Not found
}