Golang 检查字节切片中指定的元素是否存在
在Go语言中,slice(切片)比数组更强大、更灵活和更方便,并且是一种轻量级的数据结构。 切片是一种可变长度的序列,它存储相似类型的元素,您不能在同一个切片中存储不同类型的元素。 在Go语言的字节切片中,您可以使用以下函数检查给定的切片是否包含指定的元素。 这些函数在bytes(字节)包中定义,因此您必须在程序中导入bytes包以访问这些函数。
1.Contains: 此函数用于检查给定的字节切片中是否存在指定的元素。如果元素存在于切片中,则该方法返回true,否则返回false。
语法:
func Contains(slice_1, sub_slice []byte) bool
示例:
// Go程序演示如何检查
//切片中包含指定的元素
package main
import (
"bytes"
"fmt"
)
func main() {
//创建并初始化
//字节切片
//使用简写声明
slice_1 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'}
//检查切片
//使用Contains函数
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(""))
//显示结果
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: 此函数用于检查给定的字节切片中是否存在chars中UTF-8编码的代码点。如果chars中任何UTF-8编码的代码点在切片中出现,则该方法返回true,否则返回false。
语法:
func ContainsAny(slice_1 []byte, charstr string) bool
示例:
// Go程序演示如何检查
//切片中包含指定的字符串
package main
import (
"bytes"
"fmt"
)
func main() {
//创建并初始化
//字节切片
//使用简写声明
slice_1 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'}
//检查切片
//使用ContainsAny函数
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(""), "")
//显示结果
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