【发布时间】:2018-09-26 02:21:38
【问题描述】:
func assertEq(test [][]string, ans [][]string) {
for i := 0; i < len(test); i++ {
for j := 0; j < len(ans); j++ {
if test[i][j] != ans[i][j] {
fmt.Print(test)
fmt.Print(" ! ")
fmt.Print(ans)
}
}
}
fmt.Println()
}
在我的代码中它没有检查。我使用了两个不同的字符串数组来比较每个字符。
【问题讨论】:
-
你试过
reflect.DeepEqualgolang.org/pkg/reflect/#DeepEqual吗? -
请注意
[][]string不是一个数组。这是一片片。 -
您已经编写了比较切片的代码。到底是什么问题(除了缺少边界检查)。
-
为了获得更好的性能,请先检查切片长度是否相等,然后再检查所有元素是否相等。如果性能不是问题,您可以按照@AlexEfimov 的建议使用 DeepEqual