返回顶部
首页 > 资讯 > 精选 >从 `bufio.Reader` 转换为 `io.ReadWriteCloser`
  • 721
分享到

从 `bufio.Reader` 转换为 `io.ReadWriteCloser`

2024-02-06 05:02:59 721人浏览 安东尼
摘要

问题内容 我有一个 io.readwritecloser ,我想在不推进读者的情况下窥视它, 所以我正在使用 bi := bufio.NewReader(i) bi.Peek(1) 到

问题内容

我有一个 io.readwritecloser ,我想在不推进读者的情况下窥视它,

所以我正在使用

bi := bufio.NewReader(i)
bi.Peek(1)

到目前为止一切顺利,但后来当我想重用原始的 io.readwritecloser (i) 时,它只有 eof

所以我的问题是如何从 bufio.reader 转换回 io.readwritecloser


正确答案


由于 bufio.reader 缓冲来自底层读取器的数据,因此应用程序必须在调用 peek 后从 bufio.reader 读取数据。

要获得执行此操作的 io.readwritecloser,请包装 bufio.reader 和原始 io.readwritecloser:

// bufferedreadwritecloser has all of the methods
// from *bufio.reader and io.readwritecloser.
type bufferedreadwritecloser struct {
    *bufio.reader
    io.readwritecloser
}

func (rw *bufferedreadwritecloser) read(p []byte) (int, error) {
    return rw.reader.read(p)
}

使用方法如下:

rw := &BufferedReadWriteCloser{bufio.NewReader(i), i}
p, err := rw.Peek(1)

rw的值满足io.readwritecloser接口。

不要求或假设 io.readwritecloser 具有 seek 方法。

以上就是从 `bufio.Reader` 转换为 `io.ReadWriteCloser`的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 从 `bufio.Reader` 转换为 `io.ReadWriteCloser`

本文链接: https://lsjlt.com/news/561194.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 从 `bufio.Reader` 转换为 `io.ReadWriteCloser`
    问题内容 我有一个 io.readwritecloser ,我想在不推进读者的情况下窥视它, 所以我正在使用 bi := bufio.NewReader(i) bi.Peek(1) 到...
    99+
    2024-02-06
  • MyBatis sql语句从mysql转换为Oracle
    MyBatis中将SQL语句从MySQL转换为Oracle,主要涉及以下几个方面: 语法差异 MySQL和Oracle的SQL语法有一定差异,需要进行对应的转换,比如:- LIMIT -> ROWNUM - AUTO_INCREMENT ...
    99+
    2023-09-20
    mybatis oracle sql
  • 在 MySQL 中将表从 MyISAM 转换为 INNODB?
    为此,请使用 ALTER 命令。让我们首先创建一个表。默认引擎设置为“MYISAM” -mysql> create table DemoTable -> ( -> ClientId int NOT NULL AUTO_IN...
    99+
    2023-10-22
  • go中将数组从int8转换为int
    “纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《go中将数组从int8转换为int》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术...
    99+
    2024-04-04
  • 如何将 s3EventRecord 从 AWS SNS 转换为地图 (Go)
    哈喽!今天心血来潮给大家带来了《如何将 s3EventRecord 从 AWS SNS 转换为地图 (Go)》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,...
    99+
    2024-04-04
  • 从wordpress怎么转换typecho
    这篇“从wordpress怎么转换typecho”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2024-04-02
  • 如何将 MySQL 表字段类型从 BLOB 转换为 JSON?
    简介 如果 MySQL 中有一个包含 BLOB 字段的表,您希望将其转换为 JSON 字段,则可以通过执行一系列 ALTER TABLE 语句来完成。该过程包括创建具有所需数据类型 (JSON) 的新列、将数据从旧列复制到新列、删除旧列以及...
    99+
    2023-10-22
  • 将 List 转换为 String
    将 List 转换为 String的几种方式 使用toString()方法将 List 转换为 String 2、使用Java 8 Streams Collectors api和String.join...
    99+
    2023-09-22
    java
  • 在 PL/SQL 中将距离从公里转换为米和厘米
    在PL/SQL中,可以使用以下代码将距离从公里转换为米和厘米:```sqlDECLAREv_distance_km NUMBER :...
    99+
    2023-10-10
    PL/SQL
  • Java 从json提取数组并转换为list的操作方法
    目录Java 从json提取数组并转换为listJava单个对象和List对象转换成Json,Json转List(一)使用单个对象转换JSON对象(二)多个对象存到List,再转换成...
    99+
    2022-11-13
    java json提取数组转换为list java json数组转换
  • ASP Web.config 转换:从零到英雄
    ...
    99+
    2024-04-02
  • html怎么转换为pdf
    本篇内容主要讲解“html怎么转换为pdf”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html怎么转换为pdf”吧!   html转换为pdf的方法:  ...
    99+
    2024-04-02
  • mysql如何转换为sqlite
    今天小编给大家分享一下mysql如何转换为sqlite的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • JAVA 对象转换为JSON
    转载:如何把java对象转换为json java对象怎么转成json_clghxq的技术博客_51CTO博客 Java对象列表转换为JSON对象数组,并转为字符串 JSONArray jsonArray = JSONArray.fromOb...
    99+
    2023-09-06
    java json 开发语言
  • 将NSTimInterval转换为Integer Swift
    在Swift中,你可以使用`Int`的初始化方法将`NSTimeInterval`(Swift 3之前的版本)或者`TimeInte...
    99+
    2023-09-16
    转换
  • IPv4怎么转换为IPv6
    这篇文章主要介绍“IPv4怎么转换为IPv6”,在日常操作中,相信很多人在IPv4怎么转换为IPv6问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”IPv4怎么转换为IPv6”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-04
  • 为什么要从Mac换到Linux
    这篇文章主要为大家展示了“为什么要从Mac换到Linux”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“为什么要从Mac换到Linux”这篇文章吧。我在个人电脑上的首次 Linux 体验我记得,我...
    99+
    2023-06-16
  • GO 怪异将 Btye 数组从 MD5 哈希值转换为字符串
    问题内容 有人可以告诉我哪里出了问题吗? 我无法通过字符串转换来转换由哈希求和函数生成的字节数组,我必须使用 sprintf。 这是代码片段: f, _ := os.Open(file...
    99+
    2024-02-06
  • 从Vue转换看Webpack与Vite代码转换机制差异详解
    目录配置方式Vue 文件编译的流程Vite 的 Vue 转换流程Webpack 的 Vue 转换流程对比和总结配置方式 我们知道,Webpack 是使用 loader 转换代码的,而...
    99+
    2022-11-13
    Vue Webpack Vite代码转换差异 Webpack Vite代码转换差异
  • 从头到尾:ASP Web.config 转换指南
    ASP Web.config 文件是 ASP.NET 应用程序的核心配置文件。它包含各种设置,用于控制应用程序的行为、安全性、性能和连接。随着 ASP.NET 的不断发展,Web.config 文件也随之演变。本文提供了一个从旧版本 We...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作