Проверить, присутствует ли указанный элемент в срезе байтов в Golang
В языке Go фрагмент более мощный, гибкий, удобный, чем массив, и представляет собой легкую структуру данных. Срез представляет собой последовательность переменной длины, в которой хранятся элементы аналогичного типа, вам не разрешается хранить элементы разных типов в одном срезе. В срезе байтов Go вы можете проверить, содержит ли данный срез указанный элемент или нет, используя следующие функции. Эти функции определены в пакете байтов, поэтому вам необходимо импортировать пакет байтов в свою программу для доступа к этим функциям.
1. Содержит: эта функция используется для проверки, присутствует ли указанный элемент в заданном срезе байтов. Этот метод возвращает true, если элемент присутствует в срезе, или возвращает false, если элемент отсутствует в данном срезе.
Синтаксис:
func Содержит (slice_1, sub_slice [] byte) bool
Example:
// Go program to illustrate how to check the // slice contains the specified element in it package main import ( "bytes" "fmt" ) func main() { // Creating and initializing // slice of bytes // Using shorthand declaration slice_1 := []byte{ "A" , "N" , "M" , "O" , "P" , "Q" } // Checking the slice // using Contains function res1 := bytes.Contains(slice_1, []byte{ "A" }) res2 := bytes.Contains(slice_1, []byte{ "x" }) res3 := bytes.Contains([]byte( "GeeksforGeeks" ), []byte( "ks" )) res4 := bytes.Contains([]byte( "Geeks" ), []byte( "" )) res5 := bytes.Contains([]byte( "" ), []byte( "" )) // Displaying results fmt.Println( "Result 1:" , res1) fmt.Println( "Result 2:" , res2) fmt.Println( "Result 3:" , res3) fmt.Println( "Result 4:" , res4) fmt.Println( "Result 5:" , res5) } |
Выход:
Result 1: true Result 2: false Result 3: true Result 4: true Result 5: true
2. ContainsAny: эта функция используется для проверки, присутствует ли какая-либо из кодированных точек в кодировке UTF-8 в символах или нет в данном срезе байтов. Этот метод возвращает истину, если любая из кодовых точек в кодировке UTF-8 в символах присутствует в срезе, или возвращает ложь, если какая-либо из кодовых точек в кодировке UTF-8 в символах отсутствует в данном срезе.
Синтаксис:
func ContainsAny (slice_1 [] байт, строка charstr) bool
Example:
// Go program to illustrate how to check the // slice contain the specified string in it package main import ( "bytes" "fmt" ) func main() { // Creating and initializing // slice of bytes // Using shorthand declaration slice_1 := []byte{ "A" , "N" , "M" , "O" , "P" , "Q" } // Checking the slice // Using ContainsAny function res1 := bytes.ContainsAny(slice_1, "A" ) res2 := bytes.ContainsAny(slice_1, "a" ) res3 := bytes.ContainsAny([]byte( "GeeksforGeeks" ), "ksjkd" ) res4 := bytes.ContainsAny([]byte( "Geeks" ), "" ) res5 := bytes.ContainsAny([]byte( "" ), "" ) // Displaying results fmt.Println( "Result 1:" , res1) fmt.Println( "Result 2:" , res2) fmt.Println( "Result 3:" , res3) fmt.Println( "Result 4:" , res4) fmt.Println( "Result 5:" , res5) } |
Выход:
Результат 1: верно Результат 2: ложь Результат 3: верно Результат 4: ложь Результат 5: ложь