Go中切片类型无法比较的根本原因是什么?

itm*_*ard 5 arrays go slice

我编写了一段代码,想要检查两个切片的相等性,例如:

package main

import (
    "fmt"
)

func main() {
    s := []int{1, 2, 3}

    s2 := []int{1, 2, 3}

    fmt.Println(s == s2)

}
Run Code Online (Sandbox Code Playgroud)

当我运行此示例代码来比较两个切片时,它会出现错误并出现恐慌slice can only be compared to nil。我搜索并发现(Go Slices 的相等(同一性))我需要自己进行比较,但比较不适用于切片类型(如数组)的根本原因是什么?