我是新手(来自C ++世界)
我创造了一位新作家,并且继承了#34;来自io.writer:
type httpWriter struct {
io.Writer
}
接下来我实现了io.Writer接口的Write()函数:
func (w *httpWriter) Write(p []byte) (n int, err, error){...}
然后,我已将所有输出重定向到该作者。
我有权在Write()实现中打印实际的字符串。 我已经尝试了我在文档中找到的所有字符串格式,但没有一个能够将原始字符串作为输出。
fmt.Printf("%s\n",p) \\etc..
非常感谢帮助
答案 0 :(得分:5)
好的,有两件事:
你没有"继承" io.Writer
(您只是声明您的结构包含一个编写者)。在go中,接口是隐式的。如果您的结构实现了Write(p []byte) (n int, err, error)
,它是io.Writer
,可以与任何接受它的函数一起使用。期。无需申报任何内容。
至于你的问题:fmt.Printf("%s\n", string(p))