我想检查用户提交的文本中是否有垃圾邮件。所以这是我写的函数:
func TextHasSpamWords(text string, spamWords []string) bool {
removePunctuation := func(r rune) rune {
if strings.ContainsRune(".,:;", r) {
return -1
} else {
return r
}
}
text = strings.Map(removePunctuation, text)
sort.Strings(spamWords)
for _, word := range text {
for _, sapmWord := range spamWords {
if word == sapmWord {
return true
}
}
}
}
但我明白mismatched type rune and string了word == sapmWord。我知道这是因为removePunctuation返回无法与字符串(unit8)比较的符文(又名 int32)。但是删除标点符号对于该功能的工作是必不可少的,所以我想知道如何解决这个问题?或者也许有一种更惯用的方式来做到这一点?
MM们
HUWWW
相关分类