Golang -- 字节切片

本文详细介绍了Go语言标准库bytes中针对字节切片的各种操作,包括基本处理、比较、前后缀检查、位置索引、分割、大小写处理和子字节切片操作。此外,还涵盖了bytes.Buffer和bytes.Reader的使用,帮助开发者更好地理解和运用字节切片。
摘要由CSDN通过智能技术生成

Go 语言标准库 bytes ,实现了对字节数组的各种操作。 It is analogous to the facilities of strings package. (它和string 标准包提供的功能类似)
提供的功能如下;

  • 字节切片 处理函数
    • 基本处理函数
    • 字节切片比较函数
    • 前后缀检查函数
    • 字节切片位置索引函数
    • 分割函数
    • 大小写处理函数
    • 子字节切片处理函数
  • Buffer 对象
  • Reader 对象

字节切片处理函数


基本处理函数 共七个

  1. Contains() 返回是否包含子切片
  2. Count() 子切片非重叠实例的数量
  3. Map() 函数,将byte 转化为Unicode,然后进行替换
  4. Repeat() 将切片复制count此,返回这个新的切片
  5. Replace() 将切片中的一部分 替换为另外的一部分
  6. Runes() 将 S 转化为对应的 UTF-8 编码的字节序列,并且返回对应的Unicode 切片
  7. Join() 函数,将子字节切片连接到一起。
func Contains(b, subslice []byte) bool

func Contains(b, subslice [] byte) bool 检查字节切片 b ,是否包含子字节切片 subslice

package main

import (
    "bytes"
    "fmt"
)

func main() {
    // 这里不能写成 b := []byte{"Golang"},这里是利用类型转换。
    b := []byte("Golang")
    subslice1 := []byte("go")
    subslice2 := []byte("Go")
    fmt.Println(bytes.Contains(b, subslice1))
    fmt.Println(bytes.Contains(b, subslice2))
}
Counts(s, spe[ []byte) int

func Count(s, sep []byte) int 计算子字节切片 sep 在字节切片 s 中出现的非重叠实例的数量。

package main

import (
    "bytes"
    "fmt"
)

func main() {

    s := []byte("banana")
    sep1 := []byte("ban")
    sep2 := []byte("na")
    sep3 := []byte("a")
    fmt.Println(bytes.Count(s, sep1))
    fmt.Println(bytes.Count(s, sep2))
    fmt.Println(bytes.Count(s, sep3))
}
func Map(mapping func(r rune) rune, s []byte) []byte

Map函数:首先将 s 转化为 UTF-8编码的字符序列,然后使用 mapping 将每个Unicode字符映射为对应的字符,最后将结果保存在一个新的字节切片中。

package main

import (
    "bytes"
    "fmt"
)

func main() {

    s := []
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值