检查切片中的所有项目是否相等
Check if all items in a slice are equal
我需要创建一个函数:
returns true if all elements in a slice are equal (they will all be the same type)
returns false if any elements in a slice are different
我能想到的唯一方法就是反转切片,然后比较切片和反转的切片。
有没有更好的方法来做到这一点,语法好,效率更高?
我不确定你反转切片的过程是什么,但那是不必要的。最简单的算法是检查第一个之后的所有元素是否都等于第一个:
func allSameStrings(a []string) bool {
for i := 1; i < len(a); i++ {
if a[i] != a[0] {
return false
}
}
return true
}
我需要创建一个函数:
returns true if all elements in a slice are equal (they will all be the same type)
returns false if any elements in a slice are different
我能想到的唯一方法就是反转切片,然后比较切片和反转的切片。
有没有更好的方法来做到这一点,语法好,效率更高?
我不确定你反转切片的过程是什么,但那是不必要的。最简单的算法是检查第一个之后的所有元素是否都等于第一个:
func allSameStrings(a []string) bool {
for i := 1; i < len(a); i++ {
if a[i] != a[0] {
return false
}
}
return true
}