Array values are compared element by element

When comparing two array values, their elements will be compared one by one. Once two corresponding elements are found unequal, the whole comparison stops and a false result is resulted. The whole comparison might also stop for a panic produced when comparing two interfaces.

For example, the first comparison in the following code results false, but the second one causes a panic.

package main

type T [2]interface{}

func main() {
	var a = T{1, func(){}}
	var b = T{2, func(){}}
	println(a == b) // false
	
	var c = T{2, func(){}}
	var d = T{2, func(){}}
	println(c == d) // panics
}