bytes

package
v2.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2023 License: MIT Imports: 3 Imported by: 0

README

qiniupkg.com/x/bytes.v7

Extension module of golang bytes processing

Documentation

Overview

包 qiniupkg.com/x/bytes.v7 提供了 byte slice 相关的功能扩展

NewReader 创建一个 byte slice 的只读流:

var slice []byte
...
r := bytes.NewReader(slice)
...
r.Seek(0, 0) // r.SeekToBegin()
...

和标准库的 bytes.NewReader 不同的是,这里的 Reader 支持 Seek。

NewWriter 创建一个有上限容量的写流:

slice := make([]byte, 1024)
w := bytes.NewWriter(slice)
...
writtenData := w.Bytes()

如果我们向 w 里面写入超过 1024 字节的数据,那么多余的数据会被丢弃。

NewBuffer 创建一个可随机读写的内存文件,支持 ReadAt/WriteAt 方法,而不是 Read/Write:

b := bytes.NewBuffer()
b.Truncate(100)
b.WriteAt([]byte("hello"), 100)
slice := make([]byte, 105)
n, err := b.ReadAt(slice, 0)
...

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Replace

func Replace(b []byte, src, dest []byte, n int) []byte

func ReplaceAt

func ReplaceAt(b []byte, off, nsrc int, dest []byte) []byte

func ReplaceOne

func ReplaceOne(b []byte, from int, src, dest []byte) ([]byte, int)

Types

type Buffer

type Buffer struct {
	// contains filtered or unexported fields
}

func NewBuffer

func NewBuffer() *Buffer

func (*Buffer) Buffer

func (p *Buffer) Buffer() []byte

func (*Buffer) Len

func (p *Buffer) Len() int

func (*Buffer) ReadAt

func (p *Buffer) ReadAt(buf []byte, off int64) (n int, err error)

func (*Buffer) Truncate

func (p *Buffer) Truncate(fsize int64) (err error)

func (*Buffer) WriteAt

func (p *Buffer) WriteAt(buf []byte, off int64) (n int, err error)

func (*Buffer) WriteStringAt

func (p *Buffer) WriteStringAt(buf string, off int64) (n int, err error)

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

func NewReader

func NewReader(val []byte) *Reader

func (*Reader) Bytes

func (r *Reader) Bytes() []byte

func (*Reader) Close

func (r *Reader) Close() (err error)

func (*Reader) Len

func (r *Reader) Len() int

func (*Reader) Read

func (r *Reader) Read(val []byte) (n int, err error)

func (*Reader) Seek

func (r *Reader) Seek(offset int64, whence int) (ret int64, err error)

func (*Reader) SeekToBegin

func (r *Reader) SeekToBegin() (err error)

type Writer

type Writer struct {
	// contains filtered or unexported fields
}

func NewWriter

func NewWriter(buff []byte) *Writer

func (*Writer) Bytes

func (p *Writer) Bytes() []byte

func (*Writer) Len

func (p *Writer) Len() int

func (*Writer) Reset

func (p *Writer) Reset()

func (*Writer) Write

func (p *Writer) Write(val []byte) (n int, err error)

Directories

Path Synopsis
This package provide a method to read and replace http.Request's body.
This package provide a method to read and replace http.Request's body.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL