go语言类型转换问题,求解?

abao2123 · · 951 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

package ipc

import (
    "encoding/json"
    "fmt"
)

type Request struct {
    Method string "method"
    Params string "params"
}

type Response struct {
    Code string "code"
    Body string "body"
}

type Server interface {
    Name() string
    Handle(method, params string) *Response
}

type IpcServer struct {
    Server
}

func NewIpcServer(server Server) *IpcServer {
    return &IpcServer(server)
}

func (server *IpcServer) Connect() chan string {
    session := make(chan string, 0)

    go func(c chan string) {
        for {
            request := <-c

            if request == "CLOSE" { //  关闭该连接
                break
            }
            var req Request
            err := json.Unmarshal([]byte(request), &req)
            if err != nil {
                fmt.Println("Invalid request format:", request)
            }

            resp := server.Handle(req.Method, req.Params)

            b, err := json.Marshal(resp)

            c <- string(b) // 返回结果
        }

        fmt.Println("Session closed.")

    }(session)

    fmt.Println("A new session has been created successfully.")

    return session
}

return &IpcServer(server)
程序编译这行报错,说类型转换异常。不知怎么改



						

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:abao2123

查看原文:go语言类型转换问题,求解?

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

951 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传