Golang 单向chanel的定义和使用

如果我们需要一个信道专门发送数据,一个信道专门接收数据,可以这样写:
(我们假设要发送和接收的数据是9):

package main

import (
    "fmt"
    "time"
)

//只写信道定义
type Writter = chan<- int

//只读信道定义
type Reader = <-chan int

func main() {
    //声明一个信道
    var ch = make(chan int)

    go func() {
        var writter Writter = ch
        fmt.Println("写入数据:9")
        writter <- 9
    }()

    go func() {
        var reader Reader = ch
        data := <-reader
        fmt.Printf("读出数据:%d", data)
    }()

    time.Sleep(time.Second)
}

你可能感兴趣的:(go并发编程)