golang 判断元素是否在数组内

背景

众所周知,golang里没有像python的in来判断元素是否在list里存在,可替代的办法是将list放到map里,在map里判断元素是否存在

// 已知list中元素"amber","jack"
arr := [...]string{
     "amber","jack"}

// 初始化map
var set map[string]struct{
     }
set = make(map[string]struct{
     })
// 上面2部可替换为set := make(map[string]struct{})

// 将list内容传递进map,只根据key判断,所以不需要关心value的值,用struct{}{}表示
for _, value := range arr{
     
	set[value] = struct{
     }{
     }
}

// 检查元素是否在map
if _, ok := set["amber"];ok {
     
	fmt.Println("amber is in the list")
} else {
     
	fmt.Println("amber is not in the list")

}

你可能感兴趣的:(go语言)