[go] Bytes 패키지의 버퍼 조작 함수
Go의 bytes
패키지는 바이트 조작에 유용한 함수와 유틸리티를 제공합니다. 이 패키지를 사용하면 바이트 배열을 조작하고 버퍼를 효율적으로 다룰 수 있습니다. 이번 포스트에서는 bytes
패키지에서 제공하는 주요 함수들을 살펴보고자 합니다.
버퍼 만들기
먼저, 바이트 버퍼를 만들고 조작하는 방법부터 알아봅시다. bytes
패키지를 사용하여 새로운 버퍼를 만들 때 bytes.Buffer
타입을 사용합니다. 이를 위해 아래와 같은 코드를 사용할 수 있습니다:
package main
import (
"bytes"
"fmt"
)
func main() {
var buf bytes.Buffer
buf.WriteString("Hello, ")
buf.WriteString("World!")
fmt.Println(buf.String())
}
bytes.Buffer의 주요 함수들
읽기
bytes.Buffer
는 다음과 같은 함수들을 제공하여 버퍼에서 데이터를 읽을 수 있습니다:
Bytes() []byte
: 버퍼에 있는 데이터를 바이트 배열로 반환합니다.String() string
: 버퍼에 있는 데이터를 문자열로 반환합니다.Next(n int) []byte
: 버퍼에서 n바이트 만큼의 데이터를 반환하고 해당 데이터를 버퍼에서 제거합니다.
쓰기
bytes.Buffer
는 다음과 같은 함수들을 제공하여 버퍼에 데이터를 쓸 수 있습니다:
Write(p []byte) (n int, err error)
: 주어진 바이트 배열을 버퍼에 씁니다.WriteString(s string) (n int, err error)
: 주어진 문자열을 버퍼에 씁니다.
조작
아래는 bytes.Buffer
의 버퍼 조작을 위한 몇 가지 함수들입니다:
Truncate(n int)
: 버퍼의 크기를 n바이트로 줄입니다.Reset()
: 버퍼를 비웁니다.
결론
bytes
패키지의 bytes.Buffer
타입을 활용하면 간단하게 바이트 버퍼를 조작할 수 있습니다. 이를 이용해 데이터를 읽고 쓰는 등의 다양한 작업을 효율적으로 처리할 수 있습니다.
```