Golang의 bytes.Buffer 시작 부분에 데이터를 어떻게 삽입할 수 있나요?

Barbara Streisand
풀어 주다: 2024-10-27 10:45:30
원래의
872명이 탐색했습니다.

How can you insert data at the beginning of a bytes.Buffer in Golang?

Golang에서 버퍼의 시작 부분에 쓰기

Golang에서 bytes.Buffer 유형으로 작업할 때 데이터를 추가하는 것이 일반적입니다. WriteString과 같은 메서드를 사용하여 버퍼에 추가합니다. 그런데 버퍼의 시작 부분에 데이터를 삽입하고 싶다면 어떻게 해야 할까요?

문제:

buffer라는 bytes.Buffer와 데이터가 포함된 문자열 s가 있습니다. 쓰기 위해. WriteString 메서드를 사용하여 버퍼 끝에 s를 추가합니다. 추가하는 대신 버퍼의 시작 부분에 쓰는 것이 가능합니까?

해결책:

bytes.Buffer의 기본 buf 슬라이스는 직접 내보내지지 않지만, 다음 단계를 사용하여 버퍼의 시작 부분에 쓸 수 있습니다.

  1. WriteString을 사용하여 버퍼에 작은 접두사 문자(예제에서는 "B")를 씁니다.
  2. String을 사용하여 현재 버퍼 내용을 문자열로 변환합니다.
  3. Reset을 사용하여 버퍼를 재설정합니다.
  4. 접두사 문자를 다시 쓰지만 이번에는 이전에 변환된 문자열("A" )과 결합됩니다. 예).

예:

<code class="go">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())
}</code>
로그인 후 복사

출력:

AB
로그인 후 복사

이 예에서는 , 먼저 "B"를 버퍼에 추가하고, 현재 버퍼 내용을 문자열로 검색하고, 버퍼를 재설정한 다음, 마지막으로 "A"와 검색된 문자열을 차례로 작성하여 효과적으로 "A"를 버퍼 앞에 추가합니다.

위 내용은 Golang의 bytes.Buffer 시작 부분에 데이터를 어떻게 삽입할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿