编程 Go语言中的`strconv`包,提供了字符串与基本数据类型之间的转换函数

2024-11-19 02:02:18 +0800 CST views 419

概述

strconv 包提供了一系列辅助函数,用于在字符串类型和其他基本数据类型之间进行转换。

Atoi & Itoa

strconv 包中,最常用的函数之一是字符串和整数之间的相互转换。Atoi 用于将字符串转换为整数(string to int),Itoa 用于将整数转换为字符串(int to string)。注意,这两个函数处理的整数都是十进制的。

函数声明如下:

func Atoi(s string) (int, error)
// 当字符串格式错误时会返回 strconv.NumError

func Itoa(i int) string

ParseX 系列函数

当需要将字符串转换为其他类型的变量时,可以使用 strconv 中的 ParseX 系列函数。该系列函数包含四个函数:ParseBoolParseIntParseFloatParseUint

详细的函数说明如下:

  • func ParseBool(str string) (bool, error)

    该函数将字符串转换为布尔值。如果输入格式错误,则返回 NumError。接受的真值包括:"1", "t", "T", "TRUE", "true", "True";假值包括:"0", "f", "F", "FALSE", "false", "False"

  • func ParseInt(s string, base int, bitSize int) (i int64, err error)

    该函数将字符串转换为指定进制和位大小的整数。参数说明:

    • s:要转换的字符串。
    • base:整数的进制(2-36,0 表示自动检测,如 0x 表示 16 进制)。
    • bitSize:整数的位大小(0、8、16、32、64),如 0 表示 int 类型,64 表示 int64 类型。

    如果输入格式错误,返回 NumError

  • func ParseUint(s string, base int, bitSize int) (n uint64, err error)

    ParseUintParseInt 类似,但用于无符号整数。

  • func ParseFloat(s string, bitSize int) (float64, error)

    该函数将字符串转换为浮点数。参数说明:

    • s:要转换的字符串。
    • bitSize:浮点数的位大小,典型值为 32 和 64。

    无论 bitSize 取值如何,返回值的类型都是 float64

FormatX 系列函数

ParseX 相对应,FormatX 系列函数用于将其他类型的变量转换为字符串类型。这一系列包含以下四个函数:

  • func FormatBool(b bool) string

    将布尔值转换为字符串。

  • func FormatInt(i int64, base int) string

    将有符号整数转换为指定进制的字符串。

  • func FormatUint(i uint64, base int) string

    将无符号整数转换为指定进制的字符串。

ParseX 函数不同,从其他类型转换为字符串总会成功,因此这些函数不会返回错误。

  • func FormatFloat(f float64, fmt byte, prec, bitSize int) string

    FormatFloat 函数用于将浮点数转换为字符串。参数说明:

    • f:要转换的浮点数。
    • fmt:浮点数的格式('b', 'e', 'E', 'f', 'g', 'G')。
    • prec:浮点数的精度(取决于 fmt 的值)。
    • bitSize:浮点数的位大小(32 或 64)。

有关 FormatFloat 参数的详细介绍,请参阅 GoDoc FormatFloat


了更好的组织,使信息更加清晰,并对一些关键点进行了补充说明,帮助理解。

复制全文 生成海报 编程 Go语言 数据类型转换

推荐文章

MySQL死锁 - 更新插入导致死锁
2024-11-19 05:53:50 +0800 CST
如何配置获取微信支付参数
2024-11-19 08:10:41 +0800 CST
一个有趣的进度条
2024-11-19 09:56:04 +0800 CST
Vue3中的自定义指令有哪些变化?
2024-11-18 07:48:06 +0800 CST
CSS 媒体查询
2024-11-18 13:42:46 +0800 CST
程序员出海搞钱工具库
2024-11-18 22:16:19 +0800 CST
Go 语言实现 API 限流的最佳实践
2024-11-19 01:51:21 +0800 CST
js一键生成随机颜色:randomColor
2024-11-18 10:13:44 +0800 CST
Nginx 实操指南:从入门到精通
2024-11-19 04:16:19 +0800 CST
Linux 常用进程命令介绍
2024-11-19 05:06:44 +0800 CST
使用Rust进行跨平台GUI开发
2024-11-18 20:51:20 +0800 CST
如何实现生产环境代码加密
2024-11-18 14:19:35 +0800 CST
Python 微软邮箱 OAuth2 认证 Demo
2024-11-20 15:42:09 +0800 CST
如何在 Vue 3 中使用 TypeScript?
2024-11-18 22:30:18 +0800 CST
程序员茄子在线接单