首页 > 其他 > 详细

go --channel (信道)

时间:2019-03-20 15:42:54      阅读:119      评论:0      收藏:0      [点我收藏+]

①: "channel v 频道", 收看同一个频道,接受同一份信息, 频道有时观看人数过多, 就会无信号(阻塞), 不过可以换成数字信号这样收看会流畅点(缓存). 还是喜欢 will will 和 jason一起主持的节目. 在那个没有弹幕没有后期表情的时代. 舒服

②: channel 只是一个"频道", 有发就有接.

开, 关, 读, 写

chv := make(chan int)  //创建一个channel
chv <- data             //写入到chv
data <- chv            //读取chv
close(chv)             //关闭chv 

channel的使用

package main

import (
    "fmt"
    "time"
)

func send(c chan int) {
    c <- 1 //将1写入通道 (2)
}
func receive(c chan int) {
    v := <-c                   //使用v 接受通道的值 也就是1 (4)
    fmt.Printf("output:%d", v) //output: 1
}
func main() {
    chv := make(chan int) //不带缓存模式: 定义一个管道给协程(send, receive)作通信使用
    // chv := make(chan int, 3) //带缓存模式, 3个以内不堵塞
    go send(chv)    //(1)
    go receive(chv) //(3)
    time.Sleep(1 * time.Second)
}

 

go --channel (信道)

原文:https://www.cnblogs.com/cheesemp/p/10565170.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!