今天要介绍的是 channel,那麽我们就进入正题吧 ─=≡Σ(((っ゚∀゚)っ
昨天在介绍 goroutine 有提到,当 main goroutine 结束时,其他的 goroutine 也会跟着结束,要怎麽让 main goroutine 知道其他 goroutine 的状况,就能够透过 channel 来进行不同 goroutine 之间的交流以及资讯传递。
var ch chan int
// 或是
ch := make(chan int)
channel 具有方向性,因此使用 <-
时需要特别注意箭头方向。
ch <- v // 把 v 的值塞入 channel
v <- ch // 从 ch 把东西取出,并塞入 v
可以限制定义的 Channel 内的参数数量:
// variable := make(chan Type, Number)
package main
import "fmt"
func main() {
ch := make(chan int, 2)
ch <- 1
ch <- 2
fmt.Println(<-ch)
fmt.Println(<-ch)
}
当没有任何值可以被传进 channel 时,可以透过 close
来关闭 channel。
close(ch)
channel 基本语法的介绍就到这边结束
如果有任何问题欢迎与我告知 :)
<<: [Day 16] 实作-图片轮播 Carousels
今天利用Timer来完成计时器的APP练习 Timer是一个普通的类,其中有几个重要的方法; 而Ti...
经过了一晚的思考,我认为昨天讲的还不够清楚,因此今天我找了三题相关题目,今天来为大家做更深入的讲解,...
在前面的单元测试部分与前一天的Cypress我们都讲到使用假资料来,我们不一定随时都是使用mock一...
PWA 启动 要怎麽知道 Web App 是在 PWA 已经被安装情况下被开启的,靠 CSS 中有个...
Photo by Adi Goldstein on Unsplash 大家好 我是毛毛,因为这波疫...