等号比较:
数组
- func main() {
- a := [2]int{5, 6}
- b := [3]int{5, 6}
- if a == b {
- fmt.Println("equal")
- } else {
- fmt.Println("not equal")
- }
- }
Go 中的数组是值类型,可比较,另外一方面,数组的长度也是数组类型的组成部分,所以 a 和 b 是不同的类型,是不能比较的,所以编译错误。
nil 只能赋值给指针、chan、func、interface、map 或 slice 类型的变量作为零值。不能用nil赋值给无类型变量
- func main() {
- var i interface{}
- if i == nil {
- fmt.Println("nil")
- return
- }
- fmt.Println("not nil")
- }