首页 > 其他 > 详细

golang中通过循环管道来取值

时间:2019-08-26 10:35:33      阅读:100      评论:0      收藏:0      [点我收藏+]

golang中管道(chan)的一些用法

golang中的管道可以用于各个goroute方法的数据交互,管道有一些方法:

package main

import (
    "fmt"
)

func main() {
    var (
        IntChan = make(chan int, 1000)
        //ResultChan = make(chan int, 1000)
    )

    for i := 0; i < 10; i++ {
        IntChan <- i
    }
    close(IntChan)  // 关闭管道,否则下面的for循环会一直循环下去
    fmt.Println("循环管道取值前管道内容个数: ", len(IntChan))

    for v := range IntChan { // 循环管道: 循环一次即相当于从中取出一个值,管道内的值取空则退出循环
        fmt.Println(v)
    }
    fmt.Println("循环管道取值后管道内容个数: ", len(IntChan))

    //IntChan <- 520  管道已经关闭了,无法插入值了
    fmt.Println("循环完之后管道中的值: ", <-IntChan)
    fmt.Println("循环完之后管道中的值: ", <-IntChan)
}
循环管道取值前管道内容个数:  10
0
1
2
3
4
5
6
7
8
9
循环管道取值后管道内容个数:  0
循环完之后管道中的值:  0
循环完之后管道中的值:  0

golang中通过循环管道来取值

原文:https://www.cnblogs.com/shuchengyi/p/11409197.html

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