【发布时间】:2018-05-29 13:53:59
【问题描述】:
我想通过 go 中的通道传递地图:
func main() {
var pipe map[string]string
pipe = make(chan map[string]string, 2)
go connect("myhost", "100", pipe)
out := <-pipe
...}
以便 func() 通过通道传递响应和错误:
func connect(host string, url string, pipe chan<- map[string]string) {
fmt.Println("Trying "+url)
var lpipe map[string]string
lpipe = make(map[string]string)
lpipe["resp"], lpipe["err"] = "aaa","bbb"
pipe <- lpipe
}
编译器同时拒绝
pipe = make(chan map[string]string, 2)
:cannot use make(chan map[string]string, 2) (type chan map[string]string) as type map[string]string in assignment
和
pipe = make(chan map, 2)
:unexpected comma, expecting [
我做错了什么?整个事情是为了被并行化到 goroutines 中。
谢谢
【问题讨论】:
标签: dictionary go channel