wx

关注公众号

bytes


Golang 标准库 - bufio

package bytes实现了用于操作字节切片的函数。它类似于strings包的功能。

主要功能说明:

  1. Buffer操作:

    • Write()/WriteString() 动态拼接字节
    • Read() 按块读取数据
    • String() 快速转换为字符串
  2. 核心函数:

    • ToUpper/ToLower 大小写转换
    • Replace 内容替换
    • Equal 精确比较
    • EqualFold 忽略大小写比较
  3. 高效处理:

    • Reader 实现多种io接口 6
    • 支持流式读写,避免内存拷贝

func main() { 
    // 1. 基本Buffer操作 var buf bytes.Buffer

    // 写入数据
    buf.Write([]byte("Hello"))
    buf.WriteString(" Gopher!")
    fmt.Printf("Buffer内容: %q\n", buf.String()) // "Hello Gopher!"

    // 读取前5字节
    readBuf := make([]byte, 5)
    buf.Read(readBuf)
    fmt.Printf("读取内容: %q\n", readBuf) // "Hello"

    // 2. 转换与比较
    data := []byte("Go语言")
    fmt.Printf("转大写: %s\n", bytes.ToUpper(data))  // "GO语言"

    // 切片比较
    a := []byte("apple")
    b := []byte("APPLE")
    fmt.Printf("是否相等: %t\n", bytes.Equal(a, b))          // false
    fmt.Printf("忽略大小写相等: %t\n", bytes.EqualFold(a, b))  // true

    // 3. 替换与处理
    src := []byte("golang is cool, very cool!")
    replaced := bytes.Replace(src, []byte("cool"), []byte("awesome"), -1)
    fmt.Printf("替换结果: %s\n", replaced) // "golang is awesome, very awesome!"

    // 4. Reader使用
    r := bytes.NewReader([]byte{0x48, 0x65, 0x6c, 0x6c, 0x6f})
    fmt.Print("Reader解码: ")
    io.Copy(os.Stdout, r) // 输出 "Hello"
}
🛒 站长推荐(京东联盟)

以上链接含京东联盟推广代码;通过链接购买本站可能获得少量佣金,不影响你的购买价格。

📮 关注公众号「GO语言入门之路」
GO语言入门之路 公众号二维码

每周更新 Go + AI 应用开发实战:AI 面试官完整项目、MCP、Agent 工程化,完整源码随文章首发。

微信扫码,或搜索「GO语言入门之路」关注,第一时间获取系列更新与源码,不再错过任何一篇。

如有疑问关注公众号给我留言
wx

关注公众号

©2017-2026 鲁ICP备17023316号-1 Powered by Hugo · 隐私政策