go chan 判等
直接上代码
package main
import (
"fmt"
)
func main(){
var ch1 chan interface{}
var ch2 chan interface{}
ch3 := make(chan interface{},2)
ch4 := make(chan interface{},2)
fmt.Println(ch1, ch2, ch3, ch4)
b1 := ch1 == ch2
b2 := ch1 == ch3
b3 := ch3 == ch4
fmt.Println(b1)
fmt.Println(b2)
fmt.Println(b3)
fmt.Println("*****************")
var ci1 chan int
var ci2 chan int
ci3 := make(chan int,2)
ci4 := make(chan int,2)
fmt.Println(ci1, ci2, ci3, ci4)
c1 := ci1 == ci2
c2 := ci1 == ci3
c3 := ci3 == ci4
fmt.Println(c1)
fmt.Println(c2)
fmt.Println(c3)
fmt.Println("hello world")
}
运行结果
分析
- chan 为引用类型,需要使用make初始化,chan判等其实是对地址的判等
- 不同类型的chan不能比较