相关疑难解决方法(0)

无法将数据(类型接口{})转换为类型字符串:需要类型断言

我很新,我正在玩这个通知包.

起初我的代码看起来像这样:

func doit(w http.ResponseWriter, r *http.Request) {
    notify.Post("my_event", "Hello World!")
    fmt.Fprint(w, "+OK")
}
Run Code Online (Sandbox Code Playgroud)

我想Hello World!doit上面的函数中添加换行符,但不是在上面的函数中,因为这将是非常简单的,但在handler之后如下所示:

func handler(w http.ResponseWriter, r *http.Request) {
    myEventChan := make(chan interface{})
    notify.Start("my_event", myEventChan)
    data := <-myEventChan
    fmt.Fprint(w, data + "\n")
}
Run Code Online (Sandbox Code Playgroud)

之后go run:

$ go run lp.go 
# command-line-arguments
./lp.go:15: invalid operation: data + "\n" (mismatched types interface {} and string)
Run Code Online (Sandbox Code Playgroud)

经过一段谷歌搜索后,我发现了这个问题.

然后我将我的代码更新为:

func handler(w http.ResponseWriter, r *http.Request) {
    myEventChan := make(chan interface{}) …
Run Code Online (Sandbox Code Playgroud)

go type-mismatch

160
推荐指数
4
解决办法
14万
查看次数

去相当于C中的void指针

我一直在玩Go有点制作一些数据结构库,我有一个大问题.我希望数据结构能够包含任何类型,但是我没有看到任何方法在Go中执行此操作,因为您无法声明void指针,并且它们没有像NSObject这样的类,所有内容都继承自.我如何在Go中实现相同的功能?

pointers go

22
推荐指数
1
解决办法
1万
查看次数

标签 统计

go ×2

pointers ×1

type-mismatch ×1