Найти в Дзене
Golang-news

Как проверить, содержит ли слайс элемент в Go

В Go нет встроенного метода для проверки того, содержит ли срез или массив элемент. Но не волнуйтесь, его достаточно легко написать самостоятельно.

Иногда вы просто хотите знать, присутствует ли элемент в срезе. Хотя это довольно распространенная потребность, Go не предоставляет универсального метода для этой цели, поэтому для этого вам нужно написать собственную функцию. . Вот все, что вам нужно, чтобы добавить эту функциональность в ваши программы:

Приведенная выше функция contains перебирает фрагмент строки и сравнивает каждое значение со строкой из второго параметра. Если значение найдено, true возвращается и функция завершает работу. В противном случае, если значение не найдено, false возвращается.

Хотя эта функция работает достаточно хорошо, она может быть неэффективной для больших фрагментов. В таких случаях рассмотрите возможность использования map вместо среза, поскольку вам не придется перебирать весь список только для проверки существования значения.

Спасибо за чтение и удачного кодирования!