Golang channel代码示例
  0SnbOly3LC5t 2023年11月15日 36 0


以下是一个简单的Go语言channel代码示例:

package main

import "fmt"

func main() {
    // 创建一个无缓冲的channel
    ch := make(chan int)

    // 启动一个goroutine将数据发送到channel
    go func() {
        for i := 1; i <= 5; i++ {
            ch <- i // 发送数据到channel
        }
        close(ch) // 关闭channel
    }()

    // 从channel中读取数据
    for {
        if num, ok := <-ch; ok {
            fmt.Println("读取到数据:", num)
        } else {
            break // channel已经关闭,退出循环
        }
    }
}

在这个示例中,我们创建了一个无缓冲的channel ch,然后在一个goroutine中将1到5的数字发送到channel中。在主goroutine中,我们使用无限循环从channel中读取数据,直到读取到空数据为止(即channel被关闭),然后退出循环。每次从channel中读取到一个非空数据时,我们打印出读取到的数据。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  dHUS172Lkv6A   2024年05月08日   175   0   0 Go
  YFCZjJLTjJgW   2024年05月04日   53   0   0 Go
  YFCZjJLTjJgW   2024年05月17日   59   0   0 Go
  YFCZjJLTjJgW   2024年05月17日   59   0   0 Go
0SnbOly3LC5t