Contents

go标准库-Bytes

go语言中文网

godoc

go语言中文网有很多文档缺少内容比如string.Builder就没有,godoc绝对详尽,推荐阅读godoc

bytes包实现了操作[]byte的常用函数

常用函数

strings中具有的函数bytes里面基本都有

  • func Compare(a, b []byte) int:1,0,-1
  • func Equal(a, b []byte) bool:判断两个切片的内容是否完全相同
  • func EqualFold(s, t []byte) bool:判断两个utf-8编码切片(将unicode大写、小写、标题三种格式字符视为相同)是否相同
  • func Runes(s []byte) []rune: 返回和s等价的[]rune切片
  • func TrimSpace(s []byte) []byte:后端所有空白(unicode.IsSpace指定)都去掉的子切片
  • func Fields(s []byte) [][]byte:返回将字符串按照空白(unicode.IsSpace确定,可以是一到多个连续的空白字符)分割的多个子切片
  • func Split(s, sep []byte) [][]byte:用去掉s中出现的sep的方式进行分割,会分割到结尾,并返回生成的所有[]byte切片组成的切片(每一个sep都会进行一次切割,即使两个sep相邻,也会进行两次切割)
  • func Join(s [][]byte, sep []byte) []byte: 将一系列[]byte切片连接为一个[]byte切片,之间用sep来分隔,返回生成的新切片

type Buffer struct

常用函数

  • func NewBuffer(buf []byte) *Buffer:NewBuffer使用buf作为初始内容创建并初始化一个Buffer。
  • func NewBufferString(s string) *Buffer:NewBuffer使用s作为初始内容创建并初始化一个Buffer。

常用方法

  • func (b *Buffer) Reset():Reset重设缓冲

  • func (b *Buffer) Len() int:返回缓冲中未读取部分的字节长度

  • func (b *Buffer) Bytes() []byte:返回未读取部分字节数据的切片

  • func (b *Buffer) String() string:将未读取部分的字节数据作为字符串返回

  • func (b *Buffer) Read(p []byte) (n int, err error):从缓冲中读取数据直到缓冲中没有数据或者读取了len(p)字节数据,将读取的数据写入p

  • func (b *Buffer) ReadByte() (c byte, err error):读取并返回缓冲中的下一个字节

  • func (b *Buffer) ReadRune() (r rune, size int, err error):ReadRune读取并返回缓冲中的下一个utf-8码值

  • func (b *Buffer) ReadBytes(delim byte) (line []byte, err error):ReadBytes读取直到第一次遇到delim字节,返回一个包含已读取的数据和delim字节的切片

  • func (b *Buffer) ReadString(delim byte) (line string, err error):ReadString读取直到第一次遇到delim字节,返回一个包含已读取的数据和delim字节的字符串

  • func (b *Buffer) Write(p []byte) (n int, err error):Write将p的内容写入缓冲中,如必要会增加缓冲容量

  • func (b *Buffer) WriteString(s string) (n int, err error):Write将s的内容写入缓冲中,如必要会增加缓冲容量

 |