一文掌握 Go fmt:最常用的字符串与字节串操作总结

0 阅读1分钟

一文掌握 Go fmt :最常用的字符串与字节串操作总结

字符串

fmt.Sprint(...)

  • 作用无脑拼接,把多个参数转成字符串直接连起来
  • 不支持 占位符 %s %d
  • 返回string
fmt.Sprint("127.0.0.1", ":", 8080)
// 结果:"127.0.0.1:8080" ✅

fmt.Sprintf(format, ...)

  • 作用格式化字符串,支持 %s %d %v 等占位符
  • 返回string
  • 最常用场景:拼接地址、日志、拼接带格式的字符串
fmt.Sprintf("%s:%d", "127.0.0.1", 8080)
// 结果:"127.0.0.1:8080" ✅

fmt.Println(...)

  • 作用:打印到控制台 + 自动换行
  • 内部就是 Sprint + 输出

字节串([] byte)专用 API(网络编程必用)

网络编程、TCP/UDP、文件 IO 都用 字节切片 []bytefmt 提供了直接生成字节串的方法。

fmt.Append(dst []byte, a ...any) []byte

  • 作用:把参数拼接到字节切片里
  • 返回[]byte
buf := make([]byte, 0)
buf = fmt.Append(buf, "hello", 123)
// buf = []byte("hello123")

fmt.Appendf(dst []byte, format string, a ...any) []byte

  • 作用格式化后拼接到字节切片
  • 场景:拼接网络消息、协议包
buf := make([]byte, 0)
buf = fmt.Appendf(buf, "%s:%d", "127.0.0.1", 8080)
// buf = []byte("127.0.0.1:8080")

fmt.Appendln(...)

  • 拼接 + 自动加换行
  • 返回 []byte

三、字符串 → 字节串 互转(高频)

字符串 → 字节切片

str := "127.0.0.1:8080"
b := []byte(str)

字节切片 → 字符串

b := []byte("hello")
str := string(b)

格式化常用占位符

占位符说明示例
%s字符串%s, "abc"
%d整数%d, 123
%v任意值(万能)%v, struct
%t布尔值%t, true
%.2f浮点数%.2f, 3.1415