golang中的bytes标准库实现了对字节数组的各种操作,与strings标准库功能基本类似。
功能列表:
1、字节切片 处理函数
(1)、基本处理函数
(2)、字节切片比较函数
(3)、前后缀检查函数
(4)、字节切片位置索引函数
(5)、分割函数
(6)、大小写处理函数
(7)、子字节切片处理函数
2、Buffer 对象
3、Reader 对象
基本处理函数
Contains() :返回是否包含子切片
func Contains(b, subslice []byte) bool
案例:
执行结果:
sf@SFdeMacBook-Pro ~/Documents/project/src/test go build strconv.go
sf@SFdeMacBook-Pro ~/Documents/project/src/test ./strconv
false
true
true
false
Count():计算子字节切片在字节切片中的重叠数量
func Count(s, sep []byte) int
案例:
执行结果:
sf@SFdeMacBook-Pro ~/Documents/project/src/test go build strconv.go
sf@SFdeMacBook-Pro ~/Documents/project/src/test ./strconv
1
2
2
1
Map():首先将字节切片转化为 UTF-8编码的字符序列,然后使用 mapping 将每个Unicode字符映射为对应的字符,最后将结果保存在一个新的字节切片中。
func Map(mapping func(r rune) rune, s []byte) []byte
案例:
执行结果:
sf@SFdeMacBook-Pro ~/Documents/project/src/test ./strconv
你好,我是杨国强!
你好,我叫杨国强!
Repeat():将切片复制count个,返回新的切片
func Repeat(b []byte, count int) []byte
案例:
执行结果:
sf@SFdeMacBook-Pro ~/Documents/project/src/test go build strconv.go
sf@SFdeMacBook-Pro ~/Documents/project/src/test ./strconv
googlegooglegooglegooglegoogle
Replace():返回字节切片 S 的一个副本, 并且将前n个不重叠的子切片 old 替换为 new,如果n < 0 那么不限制替换的数量
func Replace(s, old, new []byte, n int) []byte
案例:
执行结果:
sf@SFdeMacBook-Pro ~/Documents/project/src/test go build strconv.go
sf@SFdeMacBook-Pro ~/Documents/project/src/test ./strconv
gcvicvigle
gcvicvigle
gcviogle
gcvicvigle
解释:其中s为要替换的字节切片,old为被替换的字节切片,new为要替换的字节切片,n为替换几个匹配字节切片,一旦超过最大被替换字节切片,则新的字节切片不再增加。
Runes()将 S 转化为对应的 UTF-8 编码的字节序列,并且返回对应的Unicode 切片
func Runes(b []byte) []rune
案例:
注:
1、每个 rune 变量占据 4个字节,等价于 int32
2、每个 byte 变量占据1个字节,等价于int8
执行结果:
sf@SFdeMacBook-Pro ~/Documents/project/src/test go build strconv.go
sf@SFdeMacBook-Pro ~/Documents/project/src/test ./strconv
××× 21
××× 7
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。