bytes
Golang 标准库 - bufio
package bytes实现了用于操作字节切片的函数。它类似于strings包的功能。
主要功能说明:
-
Buffer操作:
Write()/WriteString()动态拼接字节Read()按块读取数据String()快速转换为字符串
-
核心函数:
ToUpper/ToLower大小写转换Replace内容替换Equal精确比较EqualFold忽略大小写比较
-
高效处理:
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 官方团队出品,公认入门第一书
- 《Go 语言实战》(异步图书,人民邮电出版社) —— 实战导向,面试前巩固工程手感
- 《Go 语言编程之旅:一起用 Go 做项目》(博文视点,电子工业出版社) —— 项目驱动入门,从零写出完整应用
- Keychron K1Max 矮轴机械键盘(Mac/Win 双系统,QMK/VIA 开源改键) —— 轻薄矮轴 + 开源固件,程序员桌面常客
- 罗技 MX Master 3S 无线鼠标(Flow 跨屏,静音电磁滚轮) —— 人体工学设计,写代码一整天手不酸
以上链接含京东联盟推广代码;通过链接购买本站可能获得少量佣金,不影响你的购买价格。
📮 关注公众号「GO语言入门之路」
每周更新 Go + AI 应用开发实战:AI 面试官完整项目、MCP、Agent 工程化,完整源码随文章首发。
微信扫码,或搜索「GO语言入门之路」关注,第一时间获取系列更新与源码,不再错过任何一篇。