请问 golang chan 单向 读写 有啥特别的意思?还是仅为了程序看的明了?

func worker(id int, jobs <-chan int, results chan<- int) {
for j := range jobs {
    fmt.Println("worker", id, "processing job", j)
    time.Sleep(time.Second)
    results <- j * 2
}
}

改成如下:把箭头符号<-去掉
也不影响运行啊

func worker(id int, jobs chan int, results chan int) {
for j := range jobs {
    fmt.Println("worker", id, "processing job", j)
    time.Sleep(time.Second)
    results <- j * 2
}
}

共 1 个回复


jthmath

  1. 明确 chan 的职责,防止误用;
  2. 更容易看懂,减少心智负担。
# 0