0%

数组类型比较

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package main

import "fmt"

func main() {

//支持比较,只支持 == 或 !=, 比较是不是每一个元素都一样,2个数组比较,数组类型要一样
a := [5]int{1, 2, 3, 4, 5}
b := [5]int{1, 2, 3, 4, 5}
d := []int{1, 2, 3, 4, 5}
c := [5]int{1, 2, 3}
fmt.Println(" a == b ", a == b)
//fmt.Println(" a == d ", a == d) //编译不通过 [5]int 和 []int 不可比较
fmt.Println(" a == c ", a == c)
fmt.Println(" d == nil ", d == nil) // 切片可以和 nil 比较
//fmt.Println(" a == nil ", a == nil) //编译不通过 数组不可与 nil 比较

//同类型的数组可以赋值
var e [5]int
e = a
fmt.Println("e = ", e)

// 数组是否为空
// var f []int 则 f为切片
var f [4]int // [] 中有值则为数组,数组声明后,其中的数值就被初始化,设置为各类型的零值

fmt.Println(len(f))
fmt.Println(f[0], f[1], f[2], f[3])
}