乐趣区

关于go: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)
}

退出移动版