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

写到Golang缓冲区的开头?

班安平
2023-03-14
问题内容

我有:

var buffer bytes.Buffer
s := "something to do"
for i := 0; i < 10; i++ {
   buffer.WriteString(s)
}

哪个追加到缓冲区,是否可以写入缓冲区的开头?


问题答案:

由于基础buf不是从导出的bytes.Buffer,因此您可以使用:

buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A")
buffer.WriteString(s)

试试这个The Go Playground:

package main

import (
    "bytes"
    "fmt"
)

func main() {
    var buffer bytes.Buffer
    buffer.WriteString("B")
    s := buffer.String()
    buffer.Reset()
    buffer.WriteString("A" + s)
    fmt.Println(buffer.String())
}

输出:

AB


 类似资料:
  • 上一章讲的东西比较多,完全理解会有点难,所以这一章来点容易的。我们已经学习了如何定义本地缓冲区的映射和设置选项,现在以同样的方式来学习本地缓冲区的缩写。 打开你的foo和bar这两个文件,切换到foo,然后执行下面的命令: :::vim :iabbrev <buffer> --- &mdash; 在文件foo下进入插入模式输入下面的文本: :::text Hello --- world. Vi

  • 问题内容: 假设我想在syscall 上的Linux文件系统上写入1 GB的数据,这种情况发生在非常 繁忙的环境中 (许多相似的I / O并发)。什么是在区间的最佳缓冲区大小,说,这样做,当 不使用打开标志,或者 使用? 请没有“自己检查”的答案-我想从“文件系统”的家伙那里得到一些答案。 问题答案: 正如评论中所讨论的那样,我认为确切的大小并不重要,假设是: 文件系统大小的一小部分(请参阅Joa

  • 问题内容: 我有一个简单的从Erlang到Golang的端口示例,将数据从Erlang传递到Golang并回显响应。 问题是我可以传输的数据量似乎限制为2 ^ 8字节(请参见下文)。我认为问题可能出在Golang端(没有创建足够大的缓冲区),但是用bufio.NewReaderSize替换bufio.NewReader无效。因此,我现在认为问题可能出在Erlang一方。 我该怎么做才能增加缓冲区大

  • 问题内容: 我正在使用扫描仪的方法读取文本文件行。但是,当我在文件行中达到一定大小时,扫描仪不再允许我读取它,而是返回一个空行。 我应该如何配置缓冲区以接收大量数据? 只是一个文件,行中有许多整数,并用空格分隔。例如,一行中有40000个整数。(请注意,它适用于小于或等于10000整数的文件行,但不适用于40000) 234 544 765 45 34 67 67 87 98 43 [… n =

  • 纯JavaScript是Unicode友好的,但二进制数据却不是这样。 在处理TCP流或文件系统时,必须处理八位字节流。 Node提供了Buffer类,它提供了存储类似于整数数组的原始数据的实例,但对应于V8堆外部的原始内存分配。 Buffer类是一个全局类,可以在应用程序中访问而无需导入缓冲区模块。 创建缓冲区 节点缓冲区可以以多种方式构建。 Method 1 以下是创建10个八位字节的无启动缓

  • 问题内容: 我试图在我的react- native应用程序中使用节点模块,并且在这里采用ReactNativify方法。 我现在已经全部设置好了,我可以很好地加载加密包了。但是,当我添加eth- lightwallet时, 事情变得很奇怪。 自从我在其中添加该软件包以来,npm一直没有安装任何依赖项。意味着我必须手动添加它们。每次我安装某种与eth- lightwallet相关的依赖项时,都会卸载