区别:
1、切片是指针类型,数组是值类型;
2、数组的长度是固定的,而切片不是(切片可以看成动态的数组);
3、切片比数组多一个容量(cap)属性;
4、切片的底层是数组
示例:
package main
import (
   "fmt"
)
func main() {
   a := [2]int{5, 6}
   b := [2]int{5, 6}
   if a == b {
      fmt.Println("equal")
   } else {
      fmt.Println("not equal")
   }
   /*
      if a[:] == b[:] {
          fmt.Println("equal")
      } else {
          fmt.Println("not equal")
      }
   */
}
go语言中数组和切片的区别
● 切片是指针类型,数组是值类型
● 数组的长度是固定的,而切片不是(切片是动态的数组)
● 切片比数组多一个属性:容量(cap)
● 切片的底层是数组
所以,a、b定义的是数组类型,数组对比是相同的
但是,a[:]、b[:]是切片,切片之间不能进行等值判断,只能和nil判断
文章转自:https://www.php.cn/be/go/465817.html
                
    
    