chan转换

2018-12-07  本文已影响0人  bocsoft

package main

import "fmt"

func main() {
    var ok bool
    ch := make(chan int, 1)
    _, ok = interface{}(ch).(<-chan int)//先强转空接口,再做类型断言
    fmt.Println("chan int => <- chan int:", ok) //chan int => <- chan int: false
    _, ok = interface{}(ch).(chan<- int)
    fmt.Println("chan int => chan<- int:", ok)//chan int => chan<- int: false

    sch := make(chan<- int, 1)
    _, ok = interface{}(sch).(chan int)
    fmt.Println("chan<- int => chan int:", ok) //chan<- int => chan int: false

    rch := make(<-chan int, 1)
    _, ok = interface{}(rch).(chan int)
    fmt.Println("<-chan int=> chan int:", ok) //<-chan int=> chan int: false
}



上一篇下一篇

猜你喜欢

热点阅读