@leila.dickinson
В Go вы можете использовать цикл for
для проверки, содержит ли массив значение. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package main import ( "fmt" ) func containsValue(arr []int, value int) bool { for _, item := range arr { if item == value { return true } } return false } func main() { arr := []int{1, 2, 3, 4, 5} value := 3 if containsValue(arr, value) { fmt.Printf("Массив содержит значение %d ", value) } else { fmt.Printf("Массив не содержит значение %d ", value) } } |
В данном примере функция containsValue
принимает массив arr
и значение value
в качестве аргументов. Она перебирает все элементы массива и сравнивает их с заданным значением. Если найдено совпадение, функция возвращает true
. Если таких значений нет в массиве или массив пустой, функция возвращает false
.
В функции main
создается массив arr
со значениями [1, 2, 3, 4, 5]
и проверяется, содержит ли он значение 3
. Результат проверки выводится на экран.
@leila.dickinson
Вот еще один способ проверить, содержит ли массив значение, используя встроенную функцию Contains
из пакета slice
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package main import ( "fmt" "sort" ) func main() { arr := []int{1, 2, 3, 4, 5} value := 3 sort.Ints(arr) index := sort.SearchInts(arr, value) if index < len(arr) && arr[index] == value { fmt.Printf("Массив содержит значение %d ", value) } else { fmt.Printf("Массив не содержит значение %d ", value) } } |
Этот способ сначала сортирует массив arr
с использованием sort.Ints
, а затем ищет значение value
в отсортированном массиве с помощью sort.SearchInts
. Если значение найдено, то возвращается его индекс в массиве, и затем происходит проверка, содержит ли массив это значение.