在 Go 语言中切片比数组更强大、灵活、方便,是一种轻量级的数据结构。切片是一个可变长度的序列,用于存储相似类型的元素,不允许在同一个切片中存储不同类型的元素。在 Go 字节切片中,您可以使用以下函数检查给定切片是否包含指定元素。这些函数是在 bytes 包下定义的,因此您必须在程序中导入 bytes 包才能访问这些函数。
1.包含:该函数用于检查给定的字节片中是否存在指定的元素。如果元素存在于切片中,则此方法返回true ,如果元素不存在于给定切片中,则返回false 。
句法:
func Contains(slice_1, sub_slice []byte) bool
例子:
// 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 编码代码点,则此方法返回 true,如果给定切片中不存在字符中的任何 UTF-8 编码代码点,则返回 false。
句法:
func ContainsAny(slice_1 []byte, charstr string) bool
例子:
// 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)
}
输出:
Result 1: true
Result 2: false
Result 3: true
Result 4: false
Result 5: false