我是新手(来自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)
希望得到帮助
好的,有两件事:
你没有"继承" io.Writer(你只是声明你的结构包含一个作家).在go中,接口是隐式的.如果您的结构实现Write(p []byte) (n int, err, error),它是一个io.Writer并且可以与任何接受它的函数一起使用.期.无需申报任何内容.
至于你的问题: fmt.Printf("%s\n", string(p))
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |