fmt 的格式化输入输出
# fmt 的格式化输入输出
fmt 包提供格式化输出与扫描输入。Printf 写到标准输出,Sprintf 返回字符串,Fprintf 可写入任意 io.Writer。
name, port, enabled := "api", 8080, true
fmt.Printf("name=%s port=%d enabled=%t type=%T\n", name, port, enabled, port)
line := fmt.Sprintf("%s:%d", name, port)
1
2
3
2
3
常用占位符有 %s、%d、%f、%t、%v、%T 和用于调试结构的 %+v。读取输入时必须处理扫描错误:
var target string
var timeout int
if _, err := fmt.Scan(&target, &timeout); err != nil {
return fmt.Errorf("read input: %w", err)
}
1
2
3
4
5
2
3
4
5
服务端程序更适合结构化日志;fmt 主要用于命令行输出、字符串构造和简单调试。