在go语言中,可以使用比较运算符“==”或“!=”来进行数组比较,判断两个数组是否相等;只有当两个数组的所有元素都是相等的时候数组才是相等的,不能比较两个类型不同的数组,否则程序将无法完成编译。
本教程操作环境:windows10系统、GO 1.11.2、Dell G3电脑。
比较两个数组是否相等
如果两个数组类型相同(包括数组的长度,数组中元素的类型)的情况下,我们可以直接通过较运算符(==和!=)来判断两个数组是否相等,只有当两个数组的所有元素都是相等的时候数组才是相等的,不能比较两个类型不同的数组,否则程序将无法完成编译。
package main import ( "fmt" ) func main() { //通过 == 来比较数组 arr1 := [3]string{"Hello", "php中文网", "PHP"} arr2 := [3]string{"Hello", "php中文网", "PHP"} fmt.Println("arr1 == arr2 ", arr1 == arr2) }
输出:
arr1 == arr2 true
定义了两个都含有三个元素的数组,数组的元素都相同,接着,我们使用 == 比较两个数组,结果返回了 true,即这两个数组相等。
数组长度不同比较
数组长度不同,不可以通过 ==和!= 来比较数组
package main import ( "fmt" ) func main() { //数组长度不同,不可以通过 == 来比较数组 arr1 := [3]string{"Hello", "php中文网", "hi"} arr2 := [2]string{"Hello", "php中文网"} fmt.Println("arr1 == arr2 ", arr1 == arr2) }
程序运行后,控制台输出如下:
# command-line-arguments ./main.go:9:35: invalid operation: arr1 == arr2 (mismatched types [3]string and [2]string)
我们定义的数组 arr1 有三个元素,数组 arr2 有两个元素,接着,我们使用==和!=来比较这两个数组,程序直接 panic,因此长度不同的数组不能比较。
推荐学习:Golang教程