在go語(yǔ)言中,可以使用比較運(yùn)算符“==”或“!=”來(lái)進(jìn)行數(shù)組比較,判斷兩個(gè)數(shù)組是否相等;只有當(dāng)兩個(gè)數(shù)組的所有元素都是相等的時(shí)候數(shù)組才是相等的,不能比較兩個(gè)類型不同的數(shù)組,否則程序?qū)o(wú)法完成編譯。
本教程操作環(huán)境:windows10系統(tǒng)、GO 1.11.2、Dell G3電腦。
比較兩個(gè)數(shù)組是否相等
如果兩個(gè)數(shù)組類型相同(包括數(shù)組的長(zhǎng)度,數(shù)組中元素的類型)的情況下,我們可以直接通過(guò)較運(yùn)算符(==和!=)來(lái)判斷兩個(gè)數(shù)組是否相等,只有當(dāng)兩個(gè)數(shù)組的所有元素都是相等的時(shí)候數(shù)組才是相等的,不能比較兩個(gè)類型不同的數(shù)組,否則程序?qū)o(wú)法完成編譯。
package main import ( "fmt" ) func main() { //通過(guò) == 來(lái)比較數(shù)組 arr1 := [3]string{"Hello", "php中文網(wǎng)", "PHP"} arr2 := [3]string{"Hello", "php中文網(wǎng)", "PHP"} fmt.Println("arr1 == arr2 ", arr1 == arr2) }
輸出:
arr1 == arr2 true
定義了兩個(gè)都含有三個(gè)元素的數(shù)組,數(shù)組的元素都相同,接著,我們使用 == 比較兩個(gè)數(shù)組,結(jié)果返回了 true,即這兩個(gè)數(shù)組相等。
數(shù)組長(zhǎng)度不同比較
數(shù)組長(zhǎng)度不同,不可以通過(guò) ==和!= 來(lái)比較數(shù)組
package main import ( "fmt" ) func main() { //數(shù)組長(zhǎng)度不同,不可以通過(guò) == 來(lái)比較數(shù)組 arr1 := [3]string{"Hello", "php中文網(wǎng)", "hi"} arr2 := [2]string{"Hello", "php中文網(wǎng)"} fmt.Println("arr1 == arr2 ", arr1 == arr2) }
程序運(yùn)行后,控制臺(tái)輸出如下:
# command-line-arguments ./main.go:9:35: invalid operation: arr1 == arr2 (mismatched types [3]string and [2]string)
我們定義的數(shù)組 arr1 有三個(gè)元素,數(shù)組 arr2 有兩個(gè)元素,接著,我們使用==和!=來(lái)比較這兩個(gè)數(shù)組,程序直接 panic,因此長(zhǎng)度不同的數(shù)組不能比較。
推薦學(xué)習(xí):Golang教程