当前位置: 首页 > 面试题库 >

获取“ bytes.Buffer无法实现io.Writer”错误消息

巩枫
2023-03-14
问题内容

我正在尝试使一些Go对象实现io.Writer,但是写入字符串而不是文件或类似文件的对象。bytes.Buffer自实施以来,我以为会奏效Write(p []byte)。但是,当我尝试这样做:

import "bufio"
import "bytes"

func main() {
    var b bytes.Buffer
    foo := bufio.NewWriter(b)
}

我收到以下错误:

cannot use b (type bytes.Buffer) as type io.Writer in function argument:
bytes.Buffer does not implement io.Writer (Write method has pointer receiver)

我很困惑,因为它清楚地实现了接口。如何解决此错误?


问题答案:

将指针传递给缓冲区,而不是缓冲区本身:

import "bufio"
import "bytes"

func main() {
    var b bytes.Buffer
    foo := bufio.NewWriter(&b)
}


 类似资料:
  • 问题内容: 我正在使用位于此处的教程:http : //addyosmani.github.io/backbone-fundamentals/#create- a-simple-web-server 并添加了以下代码。 在启动服务器后,我收到一条错误消息,指出访问时的错误,我只是想知道是否有人对这个错误了解很多,因为Express和Node对我来说是新的? 问题答案: 我认为您缺少路线,您需要定义

  • 我有一个简单的登录模型类,几乎没有数据注释验证 View是一个部分View,如下所示: 我相信我已经做了验证消息显示所需的所有事情,但它没有,客户端验证也没有。在母版页的头部区域,我还包括了以下脚本 是什么导致了这个问题?解决办法是什么?

  • 我收到错误: 错误类型错误: 无法读取在评估 (webpack-internal:///./node_modules/@angular/common/esm5/http.js:163) 处未定义的属性 “长度”在 Array.forEach () 在 httpHeaders.lazyInit (webpack-internal:///./node_modules/@angular/common/e

  • 我安装了cordova并创建了一个新项目。 但当我使用此命令添加android平台时: 科尔多瓦平台添加Android 出现以下错误: 这就是我创建新项目的方式: 科尔多瓦创建你好com.example.helloHelloWorld 这是我的SDK管理器: 但我可以添加ios平台(但我在Windows上工作)

  • 我是js/handlebars的新手,我无法用VS代码显示来自我的home.hbs文件的图像。当我运行服务器时,我得到的是: 这是我的服务器代码: 我的“home.hbs”代码: get“错误特别声明 无法获取/public/img/logo.png 这是我所有的信息,任何帮助将非常感谢。

  • 我设置了3个节点汇流/Kafka都指向同一个动物园管理员 所有3台服务器都已播发。Listener=带有明文的公共ipv4 当我运行消费者py客户机时,它只是保持打开状态,没有得到任何消息来澄清上面我在网上找到的测试代码,我没有编写它,因为我还在学习Kafka API