Найти индекс элемента в Golang (Go)

В Go (Golang) нет встроенной функции indexof для поиска индекса элемента в срезе или строке. Однако существует несколько альтернативных методов, которые можно использовать для достижения аналогичной функциональности. Вот несколько подходов:

  1. Использование цикла for:
    Вы можете перебирать элементы в срезе или строке и сравнивать каждый элемент с целевым значением, пока не будет найдено совпадение. Как только совпадение будет найдено, вы сможете вернуть индекс.

  2. Использование функции strings.Index():
    Если вы ищете индекс подстроки внутри строки, вы можете использовать функцию strings.Index(). Он возвращает индекс первого вхождения подстроки или -1, если подстрока не найдена.

  3. Использование функции 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
}