golang:从[]字节获取字符串

Yan*_*321 1 go

我是新手(来自C++世界)

我创建了一个新的编写器,它从io.writer"继承":

type httpWriter struct {
  io.Writer
}
Run Code Online (Sandbox Code Playgroud)

接下来我实现了io.Writer接口的Write()函数:

func (w *httpWriter) Write(p []byte) (n int, err, error){...}
Run Code Online (Sandbox Code Playgroud)

然后,我将所有输出重定向到该编写器.

我有权在Write()实现中打印实际的字符串.我已经尝试了我可以在文档中找到的所有字符串格式,但没有一个给我原始字符串作为输出.

fmt.Printf("%s\n",p) \\etc..
Run Code Online (Sandbox Code Playgroud)

希望得到帮助

Not*_*fer 5

好的,有两件事:

  1. 你没有"继承" io.Writer(你只是声明你的结构包含一个作家).在go中,接口是隐式的.如果您的结构实现Write(p []byte) (n int, err, error),它是一个io.Writer并且可以与任何接受它的函数一起使用.期.无需申报任何内容.

  2. 至于你的问题: fmt.Printf("%s\n", string(p))

  • 不需要`string(p)`,`fmt.Printf("%s\n", p)` 应该按预期工作。 (2认同)