我的编程空间,编程开发者的网络收藏夹
学习永远不晚

GoLang中Strconv库有哪些常用方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

GoLang中Strconv库有哪些常用方法

Strconv

strconv包实现了基本数据类型和其字符串表示的相互转换。

更多函数请查看

  • 官方文档
  • 中文文档

string与int类型转换

Atoi()

Atoi()函数用于将字符串类型的整数转换为int类型,等价于ParseInt (s, 10, 0),转换为 int 类型。

func Atoi(s string) (i int, err error)
v := "10"
if s, err := strconv.Atoi(v); err == nil {
	fmt.Printf("%T, %v", s, s)
}
//Output:
//
//int, 10

Itoa()

Itoa()函数用于将int类型数据转换为对应的字符串表示,等价于FormatInt (int64(i), 10)。

func Itoa(i int) string

例子

i := 10
s := strconv.Itoa(i)
fmt.Printf("%T, %v\n", s, s)
//Output:
//
//string, 10

Parse 系列函数

Parse类函数用于转换字符串为给定类型的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()

ParseBool

func ParseBool(str string) (value bool, err error)

ParseBool 返回字符串表示的布尔值。它接受 1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False。任何其他值都会返回错误。

例子

v := "true"
if s, err := strconv.ParseBool(v); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
//Output:
//
//bool, true

ParseInt

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

ParseInt 以给定的基数(0、2 到 36)和位大小(0 到 64)解释字符串 s,并返回相应的值 i。

字符串可以以前导符号开头:“+”或“-”。

如果 base 参数为 0,则真正的基数由符号后面的字符串前缀(如果存在)暗示:2 表示“0b”,8 表示“0”或“0o”,16 表示“0x”,否则为 10。此外,仅对于以 0 为基数的参数,允许使用 Go 语法为整数文字定义的下划线字符。

bitSize 参数指定结果必须适合的整数类型。位大小 0、8、16、32 和 64 对应于 int、int8、int16、int32 和 int64。如果 bitSize 小于 0 或大于 64,则返回错误。

ParseInt 返回的错误具有具体类型 * NumError并包括 err.Num = s。如果 s 为空或包含无效数字,则 err.Err = ErrSyntax ,返回值为 0;如果 s 对应的值不能用给定大小的有符号整数表示,则 err.Err = ErrRange并且返回值是适当的 bitSize 和符号的最大幅度整数

例子

v32 := "-354634382"
if s, err := strconv.ParseInt(v32, 10, 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseInt(v32, 16, 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
v64 := "-3546343826724305832"
if s, err := strconv.ParseInt(v64, 10, 64); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseInt(v64, 16, 64); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
//Output:
//
//int64, -354634382
//int64, -3546343826724305832

ParseUnit

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

ParseUint 类似于ParseInt但用于无符号数。

不允许使用符号前缀

例子

v := "42"
if s, err := strconv.ParseUint(v, 10, 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseUint(v, 10, 64); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
//Output:
//
//uint64, 42
//uint64, 42

ParseFloat

func ParseFloat(s string, bitSize int) (f float64, err error)

ParseFloat 将字符串 s 转换为精度由 bitSize 指定的浮点数:对于 float32 为 32,对于 float64 为 64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值。

ParseFloat 接受十进制和十六进制浮点数语法。如果 s 格式正确且接近有效浮点数,则 ParseFloat 返回使用 IEEE754 无偏舍入舍入的最接近的浮点数。 (仅当十六进制表示中的位数多于尾数中的位数时,才对十六进制浮点值进行四舍五入。)

ParseFloat 返回的错误具有具体类型 * NumError并包括 err.Num = s。

如果 s 的语法格式不正确,则 ParseFloat 返回 err.Err = ErrSyntax 。

如果 s 在语法上格式正确,但距离给定大小的最大浮点数超过 1/2 ULP,则 ParseFloat 返回 f = ±Inf, err.Err = ErrRange 。

ParseFloat 将字符串“NaN”和(可能有符号的)字符串“Inf”和“Infinity”识别为它们各自的特殊浮点值。匹配时忽略大小写

例子

v := "3.1415926535"
if s, err := strconv.ParseFloat(v, 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat(v, 64); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("NaN", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
// ParseFloat is case insensitive
if s, err := strconv.ParseFloat("nan", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("inf", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("+Inf", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("-Inf", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("-0", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("+0", 32); err == nil {
	fmt.Printf("%T, %v\n", s, s)
}
//Output:
//
//float64, 3.1415927410125732
//float64, 3.1415926535
//float64, NaN
//float64, NaN
//float64, +Inf
//float64, +Inf
//float64, -Inf
//float64, -0
//float64, 0

Format系列函数

Format系列函数实现了将给定类型数据格式化为string类型数据的功能。

FormatBool

func FormatBool(b bool) string

FormatBool 根据 b 的值返回“true”或“false”。

例子

v := true
s := strconv.FormatBool(v)
fmt.Printf("%T, %v\n", s, s)
//Output:
//
//string, true

FormatInt

func FormatInt(i int64, base int) string

FormatInt 返回给定基数中 i 的字符串表示形式,即 2 <= base <= 36。对于 >= 10 的数字值,结果使用小写字母 ‘a’ 到 ‘z’。

例子

v := int64(-42)
s10 := strconv.FormatInt(v, 10)
fmt.Printf("%T, %v\n", s10, s10)
s16 := strconv.FormatInt(v, 16)
fmt.Printf("%T, %v\n", s16, s16)
//Output:
//
//string, -42
//string, -2a

FormatUint

func FormatUint(i uint64, base int) string

FormatUint 返回给定基数中 i 的字符串表示形式,即 2 <= base <= 36。对于 >= 10 的数字值,结果使用小写字母 ‘a’ 到 ‘z’

例子

v := uint64(42)
s10 := strconv.FormatUint(v, 10)
fmt.Printf("%T, %v\n", s10, s10)
s16 := strconv.FormatUint(v, 16)
fmt.Printf("%T, %v\n", s16, s16)
//Output:
//
//string, 42
//string, 2a

FormatFloat

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

FormatFloat 根据格式 fmt 和精度 prec 将浮点数 f 转换为字符串。

假设原始值是从 bitSize 位的浮点值(32 表示 float32,64 表示 float64)获得的,它会对结果进行四舍五入。 格式 fmt 是 ‘b’(-ddddp±ddd,二进制指数)、‘e’(-d.dddde±dd,十进制指数)、‘E’(-d.ddddE±dd,十进制指数)之一), ‘f’ (-ddd.dddd, 无指数), ‘g’ (‘e’ 表示大指数,‘f’ 否则), ‘G’ (‘E’ 表示大指数,‘f’ 否则), ’ x’(-0xd.ddddp±ddd,十六进制分数和二进制指数),或 ‘X’(-0Xd.ddddP±ddd,十六进制分数和二进制指数)。 精度 prec 控制由“e”、“E”、“f”、“g”、“G”、“x”和“X”格式打印的位数(不包括指数)。对于’e’、‘E’、‘f’、‘x’和’X’,它是小数点后的位数。对于“g”和“G”,它是有效数字的最大数量(删除尾随零)。 特殊精度 -1 使用所需的最少位数,以便ParseFloat将准确返回 f

例子

v := 3.1415926535
s32 := strconv.FormatFloat(v, 'E', -1, 32)
fmt.Printf("%T, %v\n", s32, s32)
s64 := strconv.FormatFloat(v, 'E', -1, 64)
fmt.Printf("%T, %v\n", s64, s64)
//Output:
//
//string, 3.1415927E+00
//string, 3.1415926535E+00

其他

isPrint

func IsPrint(r rune) bool

返回一个字符是否是可打印的,和unicode.IsPrint一样,r必须是:字母(广义)、数字、标点、符号、ASCII空格。

CanBackquote

func CanBackquote(s string) bool

返回字符串s是否可以不被修改的表示为一个单行的、没有空格和tab之外控制字符的反引号字符串。

除上文列出的函数外,strconv包中还有Append系列、Quote系列等函数。具体用法可查看官方文档。

到此这篇关于GoLang中Strconv库有哪些常用方法的文章就介绍到这了,更多相关Go Strconv库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

GoLang中Strconv库有哪些常用方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

GoLang中Strconv库有哪些常用方法

这篇文章主要介绍了GoLang中Strconv库有哪些常用方法,strconv库实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()、Itia()、parse系列、format系列、append系列
2023-01-12

golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、XML和JSON解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。详细介绍:1、标准库,Go语言的标准库是内置的,包含了
golang常用库有哪些
2023-12-14

golang常用标准库有哪些

golang常用标准库有fmt、io、net、os、time、sync、encoding、database/sql、unicode、math、crypto、runtime、flag、reflect和testing。详细介绍:1、fmt,提供
golang常用标准库有哪些
2023-12-14

python os库常用方法有哪些

这篇文章主要讲解了“python os库常用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python os库常用方法有哪些”吧!常用的函数和方法在Python中,os库提供了大量
2023-07-05

Python的NumPy库常用方法有哪些

这篇“Python的NumPy库常用方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python的NumPy库常用方
2023-06-27

常用的golang工作流库有哪些

常用的Golang工作流库有以下几个:Cadence:Cadence是Uber开源的一个分布式、可扩展的工作流引擎。它提供了强大的工作流编排和状态管理功能,能够处理复杂的业务逻辑和长时间运行的任务。Temporal:Temporal是一个开
2023-10-25

golang异常处理的方法有哪些

在Go语言中,异常处理的方法有以下几种:1. 使用`if`语句进行错误检查:在函数调用后,使用`if`语句来检查返回值是否为错误。例如:```goresult, err := someFunction()if err != nil {//
2023-09-27

Golang中删除切片元素的常用方法有哪些

这篇文章主要介绍“Golang中删除切片元素的常用方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Golang中删除切片元素的常用方法有哪些”文章能帮助大家解决问题。一、使用append函数
2023-07-05

golang中常见的类型转换方法有哪些

本篇内容介绍了“golang中常见的类型转换方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数字类型转换在Golang中,数字类型转
2023-07-05

golang反射常见用法有哪些

golang反射常见用法有:1、获取对象的类型信息;2、获取和设置对象的属性值;3、动态调用对象的方法;4、是一种复杂的机制。本教程操作环境:windows10系统、golang1.20.1版本、DELL G3电脑。Golang是一种现代的
2023-07-14

java中的常用方法有哪些

1、trim()方法trim() 方法用于删除字符串的头尾空白符。实例:public class Test { public static void main(String args[]) { String Str = new String
java中的常用方法有哪些
2020-11-11

java中常用的方法有哪些

Java中常用的方法有以下几种:1. String类的方法:常用的字符串操作方法,如substring()、indexOf()、toUpperCase()、toLowerCase()等。2. Math类的方法:常用的数学运算方法,如sqrt
2023-09-22

linux中iptables常用方法有哪些

这篇文章主要介绍linux中iptables常用方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!iptables其实是一个命令行工具,可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安
2023-06-28

Golang中常见加密算法有哪些

本文小编为大家详细介绍“Golang中常见加密算法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang中常见加密算法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.md5 加密—
2023-07-05

ansible常用方法有哪些

这篇文章主要介绍了ansible常用方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇ansible常用方法有哪些文章都会有所收获,下面我们一起来看看吧。1、ansible有很多模块,也有很多playbo
2023-06-05

java中stringbuffer的常用方法有哪些

append(String str): 将指定字符串添加到StringBuffer的末尾。2. insert(int offset, String str): 在指定位置插入指定字符串。3. delete(int start, int en
2023-10-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录