import "bytes"

バイトスライスを操作するための機能を実装しています。stringsパッケージの機能に類似しています。

パッケージファイル

buffer.go bytes.go

Add関数

func Add(s, t []byte) []byte

Addはsの末尾にtの内容を追加します。sに十分な容量がある場合は追加しますが、もしそうでなければ、新しい配列が割り当てられます。

AddByte関数

func AddByte(s []byte, t byte) []byte

AddByteはsの末尾にtを追加します。sに十分な容量がある場合は追加しますが、もしそうでなければ、新しい配列が割り当てられます。

Compare関数

func Compare(a, b []byte) int

Compareは2つのバイト配列を辞書的に比較し、比較結果を整数で返します。a==bの場合は0、a < bの場合は-1、a > bの場合は+1を返します。

Copy関数

func Copy(dst, src []byte) int

Copyはsrcからdstへバイト値のコピーをし、コピー後のバイト数を返します。srcの配列サイズよりもdstの配列サイズが小さい場合はdstの配列サイズ分だけをコピーをします。

Count関数

func Count(s, sep []byte) int

Countはs内のseqの出現数をカウントします。

Equal関数

func Equal(a, b []byte) bool

Equalはa == bであるかどうかをbool値にて返します。

HasPrefix関数

func HasPrefix(s, prefix []byte) bool

HasPrefixはバイト配列sの先頭部分がバイト配列prefixと一致するかをテストします。

HasSuffix関数

func HasSuffix(s, suffix []byte) bool

HasSuffixはバイト配列sの末尾部分がバイト配列suffixと一致するかをテストします。

Index関数

func Index(s, sep []byte) int

Indexはs内でsepが最初に出現する箇所のインデックスを返します。一致しない場合は-1を返します。

Join関数

func Join(a [][]byte, sep []byte) []byte

Joinはパラメータa内の要素を結合して、新たなバイト配列を作成します。seqで指定したセパレータが結合時に要素間に挿入されます。

LastIndex関数

func LastIndex(s, sep []byte) int

LastIndexはs内でsepが最後に出現する箇所のインデックスを返します。一致しない場合は-1を返します。

Map関数

func Map(mapping func(rune int) int, s []byte) []byte

Mapはバイト配列s内の全ての文字をマッピング関数によって変換し、その結果を新たなバイト配列として返します。

Repeat関数

func Repeat(b []byte, count int) []byte

Repeatはパラメータbのバイト配列を、パラメータcountで指定した回数コピーした新しいバイト配列を返します。

Split関数

func Split(s, sep []byte, n int) [][]byte

Splitはsの中でseqが現れた箇所の前後で分割を行い、sの部分配列の配列を返します。sepが空の場合、UTF-8シーケンス毎に分割を行います。
n > 0の場合は最大n個の部分配列へ分割します。そのときの部分配列の最後は分割されていない残りの部分が含まれています。

SplitAfter関数

func SplitAfter(s, sep []byte, n int) [][]byte

SplitAfterはsの中でseqが現れた箇所の直後で分割(sqlを含む)を行い、sの部分配列の配列を返します。sepが空の場合、UTF-8シーケンス毎に分割を行います。
n > 0の場合は最大n個の部分配列へ分割します。そのときの部分配列の最後は分割されていない残りの部分が含まれています。

ToLower関数

func ToLower(s []byte) []byte

ToLowerはバイト配列sをユニコードの小文字にマッピングしたコピーを返します。

ToUpper関数

func ToUpper(s []byte) []byte

ToUpperはバイト配列sをユニコードの大文字にマッピングしたコピーを返します。

TrimSpace関数

func TrimSpace(s []byte) []byte

TrimSpaceは文字列sの先頭と末尾からユニコードで定義されているホワイトスペースを除外した、スライスを返します。

Buffer型

BufferはReadまたはWrite関数を備えた可変サイズバッファです。値ゼロのBufferは空のバッファを用意します。

type Buffer struct {
    // contains unexported fields
}

NewBuffer関数

func NewBuffer(buf []byte) *Buffer

NewBufferはbufの内容を初期値とする、新しいBufferの作成および初期化を行います。

NewBufferString関数

func NewBufferString(s string) *Buffer

NewBufferStringは文字列sの内容を初期値とする、新しいBufferの作成および初期化を行います。

(*Buffer) Bytes関数

func (b *Buffer) Bytes() []byte

Bytesはバッファの読まれていない部分の内容を返します。(len(b.Bytes()) == b.Len())

(*Buffer) Len関数

func (b *Buffer) Len() int

Lenはバッファの読まれていない部分のバイト数を返します。(b.Len() == len(b.Bytes()))

(*Buffer) Read関数

func (b *Buffer) Read(p []byte) (n int, err os.Error)

Readはバッファから次のlen(p)バイトを読み込むか、バッファの最後まで読み込みます。戻り値nは読み込んだバイト数です。バッファにデータが存在しない場合、len(p)が0だとしてもerrはos.EOFとなり、それ以外の場合はnilとなります。

(*Buffer) ReadByte関数

func (b *Buffer) ReadByte() (c byte, err os.Error)

ReadByteはバッファから次のバイトを読み込んで返します。次のバイトが存在しない場合はos.EOFエラーを返します。

(*Buffer) Reset関数

func (b *Buffer) Reset()

Resetはバッファをリセットします。b.Reset()とb.Truncate(0)は同じです。

(*Buffer) String関数

func (b *Buffer) String() string

Stringはバッファの読まれていない部分の内容を文字列として返します。Bufferがnilポインタの場合、”<nil>”を返します。

(*Buffer) Truncate関数

func (b *Buffer) Truncate(n int)

Truncateはバッファの読まれていない部分の先頭からnバイトを残し、他を破棄します。n > b.Len()のときb.Truncate(n)を呼び出すとエラーとなります。

(*Buffer) Write関数

func (b *Buffer) Write(p []byte) (n int, err os.Error)

Writeはバッファにpの内容を追加します。戻り値nはpの長さ、errは常にnilです。

(*Buffer) WriteByte

func (b *Buffer) WriteByte(c byte) os.Error

WriteByteはバッファにバイトcを追加します。エラーは常にnilですが、bufioパッケージWrite型のWriteByte関数に合わせてあります。

(*Buffer) WriteString関数

func (b *Buffer) WriteString(s string) (n int, err os.Error)

WriteStringはバッファにsの内容を追加します。戻り値nはsの長さ、errは常にnilです。