• golang中通过循环管道来取值


    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
    
  • 相关阅读:
    NYOJ 132(最长回文子串)
    NYOJ 148(斐数求余)
    NYOJ 97
    NYOJ 206
    NYOJ 520(最大素因子的序数)
    数据库大型应用解决方案总结(转)
    SQL好的写法(转)
    WebService如何调试及测试工具
    刪除windows服務方法
    GhostDoc(注释生成工具)使用方法
  • 原文地址:https://www.cnblogs.com/shuchengyi/p/11409197.html
Copyright © 2020-2023  润新知