【发布时间】:2016-08-02 11:35:27
【问题描述】:
我正在尝试使用 go 通道构建一个数组。我不关心广告订单,但我只收到来自频道的最后一项。
package main
import (
"fmt"
)
func AddToMap(thing string, val string, c chan map[string]string) {
mappy := make(map[string]string)
mappy[thing] = val
c <- mappy
}
func main() {
item := make([]map[string]string, 0, 10)
list1 := []string{"foo", "bar", "baz", "blah", "barf"}
list2 := []string{"one", "two", "three", "four", "five"}
c := make(chan map[string]string)
for index, val := range list1 {
go AddToMap(val, list2[index], c)
}
ret := <-c
item = append(item, ret)
fmt.Println(item)
}
我的输出是:[map[barf:five]]
【问题讨论】:
-
你只能从频道收到一次,所以...
-
#facepalm 谢谢霍布斯!