"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Golang에서 Bytes.Buffer의 시작 부분에 어떻게 쓸 수 있나요?

Golang에서 Bytes.Buffer의 시작 부분에 어떻게 쓸 수 있나요?

2024-11-08에 게시됨
검색:998

How Can I Write to the Beginning of a Bytes.Buffer in Golang?

Golang의 접두사 버퍼 쓰기

Golang에서 bytes.Buffer는 효율적인 문자열 연결 및 조작을 위해 설계된 유형입니다. 그러나 일부 개발자는 버퍼에만 추가하는 내장 도우미 메서드(예: WriteString)와 달리 버퍼의 시작 부분에 써야 할 수도 있습니다.

버퍼 시작 부분에 쓰기

bytes.Buffer의 기본 buf(내부 바이트 버퍼)가 내보내지지 않는 동안 해당 내용을 간접적으로 조작할 수 있습니다. 이를 달성하는 방법은 다음과 같습니다.

buffer.WriteString("B")
s := buffer.String()
buffer.Reset()
buffer.WriteString("A"   s)
  1. Write to End of Buffer: 처음에는 WriteString을 사용하여 문자열 "B"를 버퍼 끝에 씁니다.
  2. 버퍼 내용 검색: 문자열 메서드를 사용하여 전체 버퍼의 내용을 문자열 형식으로 검색하고 변수 s에 저장합니다.
  3. 버퍼 재설정: 버퍼를 재설정합니다. 그러면 버퍼에서 이전 내용이 모두 제거됩니다.
  4. 버퍼의 시작 부분에 쓰기: 문자열 "A" 뒤에 이전에 검색된 문자열 s를 버퍼에 씁니다. WriteString을 사용합니다.

"A"와 s를 연결함으로써 버퍼의 시작 부분에 "A"를 효과적으로 쓰고 그 뒤에 원래 내용이 이어집니다.

다음 코드는 프로세스를 보여줍니다.

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

이 전략은 표준 라이브러리 bytes.Buffer 유형의 제한에도 불구하고 Golang의 버퍼 시작 부분에 쓰는 해결 방법을 제공합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3