成品网站w灬源码伊园,wordpress 判断登录页面,姜堰区区网站建设,邢台企业网站制作建设以下是 Go 语言 fmt 模块的完整方法详解及示例#xff0c;涵盖所有核心功能#xff1a; 一、输出函数
将数据写入标准输出、文件或字符串。 1. Print / Println / Printf
功能
Print: 写入标准输出#xff0c;不换行。Println: 写入标准输出并换行。Printf: 格式化写入标…以下是 Go 语言 fmt 模块的完整方法详解及示例涵盖所有核心功能 一、输出函数
将数据写入标准输出、文件或字符串。 1. Print / Println / Printf
功能
Print: 写入标准输出不换行。Println: 写入标准输出并换行。Printf: 格式化写入标准输出。
示例
fmt.Print(Hello, ) // 输出Hello,
fmt.Println(World!) // 输出World!换行
fmt.Printf(%s %d\n, Year:, 2023) // 输出Year: 2023换行2. Fprint / Fprintln / Fprintf
功能
将内容写入指定的 io.Writer如文件、网络连接。
示例
file, _ : os.Create(output.txt)
fmt.Fprint(file, Hello ) // 写入文件内容Hello
fmt.Fprintln(file, World!) // 写入文件内容World!换行
fmt.Fprintf(file, Value: %d, 100) // 写入文件内容Value: 1003. Sprint / Sprintln / Sprintf
功能
将内容格式化为字符串并返回。
示例
s1 : fmt.Sprint(Hello, 123) // s1 Hello123
s2 : fmt.Sprintln(World!) // s2 World!\n
s3 : fmt.Sprintf(Value: %d, 100) // s3 Value: 100二、输入函数
从标准输入、文件或字符串读取数据。 1. Scan / Scanln / Scanf
功能
Scan: 从标准输入读取以空格分隔。Scanln: 读取到换行符停止。Scanf: 按格式字符串读取。
示例
var a int
var b string// 输入10 ABC
fmt.Scan(a, b) // a10, bABC// 输入20 XYZ\n
fmt.Scanln(a, b) // a20, bXYZ// 输入Number: 30
fmt.Scanf(Number: %d, a) // a302. Fscan / Fscanln / Fscanf
功能
从指定的 io.Reader如文件读取数据。
示例
file, _ : os.Open(data.txt)
var x int
var y string// 文件内容100 Golang
fmt.Fscan(file, x, y) // x100, yGolang// 文件内容200 Rust\n
fmt.Fscanln(file, x, y) // x200, yRust// 文件内容Value: 300
fmt.Fscanf(file, Value: %d, x) // x3003. Sscan / Sscanln / Sscanf
功能
从字符串解析数据。
示例
str : 404 Not Found
var code int
var msg stringfmt.Sscan(str, code, msg) // code404, msgNot
fmt.Sscanln(500 Error\n, code, msg) // code500, msgError
fmt.Sscanf(Status: 200 OK, Status: %d %s, code, msg) // code200, msgOK三、格式化动词
常用格式化占位符部分
动词说明示例%v默认格式%v → {Alice 30}%d十进制整数%d → 25%f浮点数%f → 3.141593%s字符串%s → “hello”%t布尔值%t → true%p指针地址%p → 0xc0000a%T类型%T → int 四、其他功能
1. Errorf
功能
生成格式化错误。
示例
err : fmt.Errorf(无效的用户ID: %d, -1)
// err.Error() 无效的用户ID: -12. Formatter 和 Stringer 接口
功能
自定义类型的格式化行为。
示例
type User struct {Name stringAge int
}// 实现 Stringer 接口
func (u User) String() string {return fmt.Sprintf(%s (%d岁), u.Name, u.Age)
}// 实现 Formatter 接口
func (u User) Format(f fmt.State, verb rune) {if verb v {fmt.Fprintf(f, User{Name:%s, Age:%d}, u.Name, u.Age)}
}u : User{Bob, 30}
fmt.Println(u) // 输出Bob (30岁)
fmt.Printf(%v, u) // 输出User{Name:Bob, Age:30}五、注意事项
错误处理Scan 系列函数返回成功解析的项数和错误。n, err : fmt.Scan(a, b)
if err ! nil {log.Fatal(输入错误:, err)
}性能频繁字符串拼接时优先使用 strings.Builder 而非 Sprintf。 六、完整函数列表
函数签名功能说明Print(a ...any) (n int, err error)标准输出Println(a ...any) (n int, err error)标准输出并换行Printf(format string, a ...any) (n int, err error)格式化输出Fprint(w io.Writer, a ...any) (n int, err error)写入 io.WriterSprint(a ...any) string返回格式化字符串Errorf(format string, a ...any) error生成格式化错误 通过掌握 fmt 包的方法可以高效处理输入输出、字符串格式化及错误生成。