在 Go语言 开发中,经常需要将数字转换为字符串,或将字符串解析为数字。这时,strconv 包就派上大用场了!本教程将带你从零开始,深入浅出地掌握 strconv 包 中用于数值格式化的核心功能,即使是编程小白也能轻松上手。
strconv 是 Go 标准库中的一个包,全称是 “string convert”,专门用于字符串与其他基本数据类型(如整数、浮点数、布尔值)之间的相互转换。它提供了安全、高效且灵活的转换方法。
下面我们重点介绍几个最常用的 数值格式化 函数:
Itoa 是 “Integer to ASCII” 的缩写,用于将 int 类型转换为十进制字符串。
package mainimport ( "fmt" "strconv")func main() { num := 42 str := strconv.Itoa(num) fmt.Println("整数转字符串:", str) // 输出: 整数转字符串: 42} Atoi 是 “ASCII to Integer” 的缩写,将字符串解析为 int。注意:它只支持十进制,且会返回错误(error)。
str := "123"num, err := strconv.Atoi(str)if err != nil { fmt.Println("转换失败:", err)} else { fmt.Println("字符串转整数:", num) // 输出: 字符串转整数: 123} FormatInt 可以指定进制(2、8、10、16等),ParseInt 则能解析任意进制的字符串。
// FormatInt 示例num := int64(255)hexStr := strconv.FormatInt(num, 16) // 转为十六进制binStr := strconv.FormatInt(num, 2) // 转为二进制fmt.Println("十六进制:", hexStr) // fffmt.Println("二进制:", binStr) // 11111111// ParseInt 示例hexNum, _ := strconv.ParseInt("ff", 16, 64)fmt.Println("十六进制字符串转整数:", hexNum) // 255 处理小数时,使用 FormatFloat 和 ParseFloat。其中 FormatFloat 支持多种格式('f', 'e', 'g' 等)和精度控制。
pi := 3.1415926535// 保留2位小数str1 := strconv.FormatFloat(pi, 'f', 2, 64)fmt.Println("保留2位小数:", str1) // 3.14// 科学计数法str2 := strconv.FormatFloat(pi, 'e', -1, 64)fmt.Println("科学计数法:", str2) // 3.1415926535e+00// 字符串转浮点数f, _ := strconv.ParseFloat("3.14", 64)fmt.Println("字符串转浮点数:", f) // 3.14 在使用 Atoi、ParseInt、ParseFloat 等函数时,务必检查返回的 error。如果传入非法字符串(如字母、空字符串),程序会报错。
// 错误示例num, err := strconv.Atoi("hello")if err != nil { fmt.Println("转换失败!原因:", err) // 输出: strconv.Atoi: parsing "hello": invalid syntax} 通过本 Go语言 strconv 数值格式化 教程,你应该已经掌握了如何使用 strconv 包进行安全、高效的数值与字符串互转。记住:
Itoa / AtoiFormatInt / ParseIntFormatFloat / ParseFloat掌握这些技巧后,你就能轻松应对各种数据输入输出、配置解析、日志记录等场景中的 数值格式化 需求了。快去试试吧!
本文关键词:Go语言、strconv、数值格式化、教程
本文由主机测评网于2025-12-09发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125313.html