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")

}
    原文作者:出逃的迪士尼猫咪
    原文地址: https://blog.csdn.net/ambzheng/article/details/107295240
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞