检查切片是否包含指定元素

package main

import (
   "fmt"
   "sort"
)

func InSlice(needle string, slice []string) bool {
   sort.Strings(slice)
   index := sort.SearchStrings(slice, needle)
   if index < len(slice) && slice[index] == needle {
      return true
   }

   return false
}

func main() {
   slice := []string{"张三", "李四", "王五"}

   name := "张三"
   if InSlice(name, slice) {
      fmt.Printf("%+v 在切片中 \n", name) // 张三 在切片中
   } else {
      fmt.Printf("%+v 不在切片中 \n", name)
   }

   name = "汤姆"
   if InSlice(name, slice) {
      fmt.Printf("%+v 在切片中 \n", name)
   } else {
      fmt.Printf("%+v 不在切片中 \n", name) // 汤姆 不在切片中
   }
}

Copyright © 2024 码农人生. All Rights Reserved