基本原理,使用 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)
}