duanmei1885 2016-02-07 19:07
浏览 1139
已采纳

golang:从[] byte获取字符串

I'm new to go (coming from the C++ world)

I've created a new writer, which "inherits" from io.writer:

type httpWriter struct {
  io.Writer
}

Next I've implemented the Write() function of the io.Writer interface:

func (w *httpWriter) Write(p []byte) (n int, err, error){...}

Then, I've redirected all output to that writer.

I'm having truble to print the actual string in the Write() implementation. I've tried all string formatting I could find in the documentation, but none of them give me the original string as an output.

fmt.Printf("%s
",p) \\etc..

Would appreciate assistance

  • 写回答

1条回答 默认 最新

  • douci1615 2016-02-07 19:16
    关注

    Ok, two things:

    1. You haven't "inherited" io.Writer (you simply stated that your struct contains a writer). In go, interfaces are implicit. If your struct implements Write(p []byte) (n int, err, error), it is an io.Writer and can be used with any function accepting it. Period. No need to declare anything.

    2. As for your problem: fmt.Printf("%s ", string(p))

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料