27 lines
487 B
Go
27 lines
487 B
Go
package testutil
|
|
|
|
import (
|
|
"reflect"
|
|
"sort"
|
|
)
|
|
|
|
// SliceEqual 检查两个字符串切片是否完全相等(忽略顺序)
|
|
func SliceEqual(a, b []string) bool {
|
|
if len(a) != len(b) {
|
|
return false
|
|
}
|
|
|
|
// 复制切片以避免修改原始数据
|
|
aCopy := make([]string, len(a))
|
|
bCopy := make([]string, len(b))
|
|
copy(aCopy, a)
|
|
copy(bCopy, b)
|
|
|
|
// 排序两个切片
|
|
sort.Strings(aCopy)
|
|
sort.Strings(bCopy)
|
|
|
|
// 比较排序后的切片
|
|
return reflect.DeepEqual(aCopy, bCopy)
|
|
}
|