Skip to content

Commit 7a04740

Browse files
committed
not finish
1 parent 0259ee1 commit 7a04740

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

PROGRESS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
- [x] Channel Directions->通道方向
3737
- [x] Select->通道选择器
3838
- [x] Timeouts->超时处理
39-
- [ ] Non-Blocking Channel Operations->非阻塞通道操作
39+
- [x] Non-Blocking Channel Operations->非阻塞通道操作
4040
- [ ] Closing Channels->通道的关闭
4141
- [ ] Range over Channels->通道遍历
4242
- [ ] Timers->Timer

examples/non-blocking-channel-operations/non-blocking-channel-operations.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
// 常规的通过通道发送和接收数据是阻塞的。然而,我们可以
2-
// 使用带一个 `default` 子句的 `select` 来实现_非阻塞_ 的
3-
// 发送、接收,甚至是非阻塞的多路 `select`。
1+
// 常规的通过通道发送和接收数据是阻塞的。
2+
// 然而,我们可以使用带一个 `default` 子句的 `select`
3+
// 来实现 _非阻塞_ 的发送、接收,甚至是非阻塞的多路 `select`。
44

55
package main
66

@@ -10,9 +10,9 @@ func main() {
1010
messages := make(chan string)
1111
signals := make(chan bool)
1212

13-
// 这里是一个非阻塞接收的例子。如果在 `messages` 中
14-
// 存在,然后 `select` 将这个值带入 `<-messages` `case`
15-
// 中。如果不是,就直接到 `default` 分支中。
13+
// 这是一个非阻塞接收的例子。
14+
// 如果在 `messages` 中存在,然后 `select` 将这个值带入 `<-messages` `case` 中。
15+
// 否则,就直接到 `default` 分支中。
1616
select {
1717
case msg := <-messages:
1818
fmt.Println("received message", msg)
@@ -29,9 +29,8 @@ func main() {
2929
fmt.Println("no message sent")
3030
}
3131

32-
// 我们可以在 `default` 前使用多个 `case` 子句来实现
33-
// 一个多路的非阻塞的选择器。这里我们试图在 `messages`
34-
// 和 `signals` 上同时使用非阻塞的接收操作。
32+
// 我们可以在 `default` 前使用多个 `case` 子句来实现一个多路的非阻塞的选择器。
33+
// 这里我们试图在 `messages` 和 `signals` 上同时使用非阻塞的接收操作。
3534
select {
3635
case msg := <-messages:
3736
fmt.Println("received message", msg)

0 commit comments

Comments
 (0)