Golang 字符串是否存在于数组中
基本原理,使用 sort
库,先对数组排序,再二分搜索进行确认。
func assert(actual, expect bool, t *testing.T) {
if actual != expect {
t.Fatalf("Expect %v, but got %v", expect, actual)
}
}
func TestSearchInArray(t *testing.T) {
assert(In("a", []string{"a", "b", "c"}), true, t)
assert(In("c", []string{"b", "a", "c"}), true, t)
assert(In("a", []string{"dd", "b", "c"}), false, t)
assert(In("a", []string{"a1", "b", "c"}), false, t)
assert(In("hello", []string{"a1", "b", "c"}), false, t)
assert(In("hello", []string{"a1", "b", "c", "hello"}), true, t)
}