1 回答

TA貢獻1775條經驗 獲得超8個贊
我更新了你的搜索功能但保留了簽名
func keyword(itemTitle string, keywords string) bool {
a := strings.ToUpper(itemTitle)
b := strings.ToUpper(keywords)
keys := strings.Split(strings.Replace(b, "-", " ", -1), ",")
for _, key := range keys {
key = strings.TrimSpace(key)
if strings.Contains(a, key) {
return true
}
}
return false
}
并使用通過測試和失敗測試更新您的測試功能,看看它是如何工作的。
func TestKeyword(t *testing.T) {
test1 := "Pokemon Nintendo Switch Cool Thing"
keywordTest1 := "+pokemon,-nintendo"
if keyword(test1, keywordTest1) {
t.Log("matched")
} else {
t.Fail()
}
test2 := "Pokemon Cards Cool"
if keyword(test2, keywordTest1) {
t.Log("matched")
} else {
t.Fail()
}
}
關于第二次測試失敗的關鍵字,如果需要,您可以通過正則表達式傳遞它以僅獲取字母數字字符。
- 1 回答
- 0 關注
- 117 瀏覽
添加回答
舉報