将切片的所有项添加到通道中

时间:2015-10-06 12:40:07

标签: go slice channel

在Go中,是否有更惯用的方法将数组/切片的所有元素添加到通道中而不是以下?

ch := make(chan string)
values := []string {"lol", "cat", "lolcat"}

go func() {
    for _,v := range values {
        ch <- v
    }
}()

我正在寻找像ch <- values...这样的东西(被编译器拒绝)

1 个答案:

答案 0 :(得分:0)

for / range 循环是将切片元素发送到通道的惯用方式:

for _,v := range values {
    ch <- v
}

如问题所示,没有必要在 goroutine 中运行 for 循环。