登录
首页 >  Golang >  Go问答

能否将 chan 字符串类型用作 chan 字符串类型?

来源:stackoverflow

时间:2024-03-23 15:12:34 222浏览 收藏

在 Go 语言中,`chan` 字符串类型和 `[]chan` 字符串类型是不同的数据类型。文章描述了尝试将 `chan []string` 类型的值作为 `[]chan string` 类型参数传递时遇到的错误。文章还提供了 Go Playground 链接来演示该错误。

问题内容

package main

import "fmt"

func x(foo []string, cz chan string) {
    for i := range foo {
        cz <- foo[i]
    }
}

func y(foo []string, cz chan string) {
    for i := range foo {
        cz <- foo[i]
    }
}

type cz struct {
    cSlice []chan string
}

func main() {

    var quality []string = make([]string, 2)
    quality[0] = "hello"
    quality[1] = "world"
    //name := []string{"mother", "earth"}

    var channel cz

    for i := range channel.cSlice {
        go x(quality, channel.cSlice[i])
        go y(quality, channel.cSlice[i])
        x, y := <-channel.cSlice[i], <-channel.cSlice[i]
        fmt.Println(x, y)
    }
}

现在什么也没收到,嗯...

更新^

...需要更多文字。

...然后还有一点。好的还有多少?

我真的不敢相信这一点。 fdsaf asf asfasdfdasfadfd


解决方案


cannot use channel.cSlice (type chan []string) as type []chan string in argument to x
cannot use channel.cSlice (type chan []string) as type []chan string in argument to y

阅读错误消息。

type chan []string

type []chan string

它们是不同的。

演示:https://play.golang.org/p/CKhj8DUGTle

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>