在 Golang 中檢查切片是否包含一個元素
Jay Singh
2022年4月22日
Go 缺乏用於確定給定值是否屬於切片的語言概念或標準庫函式。你需要使用兩個引數建立自己的 contains()
函式,切片和要查詢的元素。
我們將在本教程中學習如何使用 Golang 來確定元素是否存在。
使用 contains()
函式檢查切片中是否存在元素
在以下示例中,contains()
用於檢查切片中是否存在元素。
示例 1:
package main
import "fmt"
func contains(elems []string, v string) bool {
for _, s := range elems {
if v == s {
return true
}
}
return false
}
func main() {
fmt.Println(contains([]string{"a", "b", "c"}, "b"))
fmt.Println(contains([]string{"a", "b", "c"}, "d"))
}
輸出:
true
false
在下一個示例中,我們在 slice1
中取一個整數切片。檢查該切片以檢視元素 5
是否存在。
示例 2:
package main
import "fmt"
func main() {
slice1 := []int{1, 2, 3, 4, 5}
var element int = 5
var result bool = false
for _, x := range slice1 {
if x == element {
result = true
break
}
}
if result {
fmt.Print("Element is present.")
} else {
fmt.Print("Element is not present.")
}
}
輸出:
Element is present.
最後一個示例在名為 s
的陣列中包含一個名稱片段,並檢查 "Rick"
和 "Mike"
是否存在。
示例 3:
package main
import "fmt"
func contains(s []string, str string) bool {
for _, v := range s {
if v == str {
return true
}
}
return false
}
func main() {
s := []string{"Jay", "Rick", "Morty", "Jerry"}
fmt.Println(contains(s, "Rick"))
fmt.Println(contains(s, "Mike"))
}
輸出:
true
false