Функция slices.Index
Функция slices.Index возвращает индекс первого вхождения
элемента в слайсе. Первым параметром функция принимает слайс
для поиска, вторым - искомое значение. Если элемент найден,
функция возвращает его индекс (начиная с нуля). Если элемент
не найден, возвращается -1. Функция поддерживает все сравнимые
типы данных.
Синтаксис
slices.Index(slice, value)
Пример
Давайте найдем индекс элемента "c" в слайсе строк:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []string{"a", "b", "c", "d", "e"}
res := slices.Index(slice, "c")
fmt.Println(res)
}
Результат выполнения кода:
2
Пример
Давайте попробуем найти элемент, которого нет в слайсе:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []string{"a", "b", "c", "d", "e"}
res := slices.Index(slice, "z")
fmt.Println(res)
}
Результат выполнения кода:
-1
Пример
Функция работает и с числовыми слайсами. Найдем индекс числа 30 в слайсе целых чисел:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []int{10, 20, 30, 40, 50}
res := slices.Index(slice, 30)
fmt.Println(res)
}
Результат выполнения кода:
2
Пример
Если в слайсе есть несколько одинаковых элементов, функция возвращает индекс первого из них:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []string{"a", "b", "b", "c", "b"}
res := slices.Index(slice, "b")
fmt.Println(res)
}
Результат выполнения кода:
1
Смотрите также
-
функцию
slices.Contains,
которая проверяет наличие элемента в слайсе -
функцию
slices.IndexFunc,
которая находит индекс по условию -
функцию
slices.Equal,
которая сравнивает два слайса -
функцию
slices.Compact,
которая удаляет последовательные дубликаты из слайса