go - 如何传递 channel 数组

标签 go

我正在尝试将一组 channel 传递给方法“func Data(channel chan<- []Book)”,但是我遇到了一个错误,指出 ( channel[0] (type chan<- []Book does不支持索引)") 我明白这意味着什么,但是没有办法传递数组吗?如果是这样,我有什么选择

     func Data(channel chan<- []Book) {
            var data EData
            data = ReadJSONFile("Data.json")

            go Writer(data.BookStores[0].Central, channel[0]) // at this 
          // place I get "invalid operation:  channel[0] (type chan<- []Book 
          // does not support indexing)"
        }

最佳答案

传递 Book 元素 channel slice 的正确类型是:

[]chan<- Book

您原始问题中的代码用于 Book slice 的 channel 。

关于go - 如何传递 channel 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400188/

相关文章:

go - Go 中 slice 内的对象

sql - SetConnMaxLifetime如何在golang database/sql上工作

go - 一个 Go 程序可以同时启动 8k+ Goroutines 吗?

go - golang `range` 关键字是否破坏了 uint 类型信息?

go - 从内部函数引用外部函数中的值安全吗?

go - 什么是模板缓存?

golang 在指定路径返回静态 html 文件

go - 无法在 Go 应用程序的另一个包中使用函数

go - 将 go-pg 查询转换为纯 sql

go - 如何在 Golang 中检索经过身份验证的用户