我正在go
中对同步机制进行一些练习/尝试。
为什么最后的for
迭代未能将缓冲的通道valchan
所保存的值分配给mysl
切片?
错误是
./ myprog.go:28:7::=]左侧的非名称mysl [i
package main import ( "sync" ) const NUM_ROUTINES = 2 func sendValue(c chan string) { c <- "HelloWorld" } func main() { valchan := make(chan string, NUM_ROUTINES) var wg sync.WaitGroup wg.Add(NUM_ROUTINES) for i := 0; i < NUM_ROUTINES; i++ { go func() { sendValue(valchan) wg.Done() }() } wg.Wait() mysl := make([]string, 2, 2) for i := 0; i < NUM_ROUTINES; i++ { mysl[i] := <-valchan } }
我正在练习/尝试同步机制。为什么最后一次迭代无法将缓冲通道valchan保留的值分配给mysl slice?错误...
您正在使用“短变量声明”语法。从language specification: