golang判斷key是否在map中的代碼
個人常用函數
func IsContain(items []string, item string) bool { for _, eachItem := range items { if eachItem == item { return true } } return false }
使用方法
var word := "my" var sentence := []string{"my","word","in","a","sentence"} if IsContain(sentence){ //包含 }else{ //不包含 }
補充:golang中的正則匹配&判斷元素是否在slice裡或者數組裡
1、正則匹配
package main import ( "fmt" "regexp" ) func main() { //pattern := "\\d+" //反斜杠要轉義 pattern := "[a-zA-Z]" //匹配字母 str := "a1.22.35.4" result, _ := regexp.MatchString(pattern, str) fmt.Println(result) //true }
2、判斷元素是否在slice裡或者數組裡
package main import "fmt" import "github.com/wxnacy/wgo/arrays" //go get github.com/wxnacy/wgo/arrays 安裝包 func main() { str := "342" var numbers []string numbers = append(numbers, "3332", "342", "ssddd", "ssss", "%%%%") index := arrays.ContainsString(numbers, str) if index == -1 { fmt.Printf("not exists") //-1說明不存在 } else { fmt.Println(index) //存在則會返回元素的下標 } }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- GO語言基本類型String和Slice,Map操作詳解
- 如何用Go判斷元素是否在切片中
- 一文帶你全面掌握Go語言中的正則表達式
- golang 切片的三種使用方式及區別的說明
- golang 字符串切片去重實例