go 语言 channel for select

示例demo55
package main

import (
  "fmt"
  "time"
)

func main() {
  intChan := make(chan int, 10) //初始化 intchan 通道 长度10
  intChan2 := make(chan int, 10) //初始化 intchan 通道 长度10

  go func() {
    for i := 0; i < 10; i++ {
      intChan <- i
      intChan2 <- i
    }
  }()
  //无限循环 不阻塞 没有数据就会到default
  for {
    select {
    case v := <-intChan:
      fmt.Println(v)
    case v := <-intChan2:
      fmt.Println(v)
    default:
      fmt.Println("get data timeout")
      time.Sleep(time.Second)
    }
  }

}
posted @   5656923  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示