Go - Channel

Go - Channel 首页 / Golang入门教程 / Go - Channel

通道充当管道,我们通过管道将键入的值从一个Goroutine发送到另一个Goroutine。由于在任何给定时间只有一个Goroutine可以访问数据项,因此可以保证同步。数据的所有权在不同的Goroutine之间传递。因此,通过设计,它避免了共享内存的陷阱,并防止了竞争情况。

Go通道示例

package main
import "fmt"
import "time"
func worker(done chan bool) {
   fmt.Print("working...")
   time.Sleep(time.Second)
   fmt.Println("done")
   done <- true
}
func main() {
   done := make(chan bool, 1)
   go worker(done)
   <-done
}

输出:

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/go/go-channel.html

来源:LearnFk无涯教程网

working...done

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

硅谷产品实战36讲 -〔曲晓音〕

从0开始学架构 -〔李运华〕

算法面试通关40讲 -〔覃超〕

透视HTTP协议 -〔罗剑锋(Chrono)〕

摄影入门课 -〔小麥〕

性能优化高手课 -〔尉刚强〕

手把手带你写一门编程语言 -〔宫文学〕

Tony Bai · Go语言第一课 -〔Tony Bai〕

说透元宇宙 -〔方军〕

好记忆不如烂笔头。留下您的足迹吧 :)