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

Go语言标准库之strconv怎么使用

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Go语言标准库之strconv怎么使用

这篇“Go语言标准库之strconv怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言标准库之strconv怎么使用”文章吧。

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

    strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi()、Itia()、parse系列、format系列、append系列。

    1. string 与 int 类型之间的转换

    字符串和整型之间的转换是我们平时编程中使用的最多的,下面就来介绍一下具体的操作。

    1.1 Itoa():整型转字符串

    Itoa() 函数用于将 int 类型数据转换为对应的字符串类型,函数签名如下。

    func Itoa(i int) string

    代码示例如下:

    package main import (    "fmt"    "strconv") func main() {    num := 100    str := strconv.Itoa(num)    log.Printf("类型:%T,值:%v\n", str, str) // 类型:string,值:100}

    1.2 Atoi():字符串转整型

    Atoi() 函数用于将字符串类型的整数转换为 int类型,函数签名如下。

    func Atoi(s string) (i int, err error)

    通过函数签名可以看出 Atoi() 函数有两个返回值, i 为转换成功的整型, err 在转换成功是为空转换失败时为相应的错误信息。

    代码示例:

    func main() {    str1 := "110"    str2 := "s100"    num1, err := strconv.Atoi(str1)    if err != nil {        fmt.Printf("%v 转换失败!", str1)    } else {        fmt.Printf("类型:%T,值:%v\n", num1, num1)    }    num2, err := strconv.Atoi(str2)    if err != nil {        fmt.Printf("%v 转换失败!", str2)    } else {        fmt.Printf("类型:%T,值:%v\n", num2, num2)    }}

    输出:

    类型:int,值:110
    s100 转换失败!

    1.3 fmt.Sprintf 其它类型转字符串

    其他类型转换成为string类型除了用strconv包,还可以用fmt.Sprintf函数:

    package main import (    "fmt") func main() {    s2 := fmt.Sprintf("%d", 456)    println(s2)}

    2. Parse系列函数

    Parse系列函数用于将字符串转换为指定类型的值,其中包括 ParseBool() 、 ParseFloat() 、 ParseInt() 、 ParseUint()。

    2.1 ParseBool()

    ParseBool() 函数用于将字符串转换为 bool 类型的值,它只能接受 1 、 0 、 t 、 f 、 T 、 F 、 true 、 false 、 True 、 False 、 TRUE 、 FALSE ,其它的值均返回错误,函数签名如下。

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

    代码示例:

    func main() {    str1 := "110"     boo1, err := strconv.ParseBool(str1)    if err != nil {        fmt.Printf("str1: %v\n", err)    } else {        fmt.Println(boo1)    }     str2 := "t"    boo2, err := strconv.ParseBool(str2)    if err != nil {        fmt.Printf("str2: %v\n", err)    } else {        fmt.Println(boo2)    }}

    输出:

    str1: strconv.ParseBool: parsing "110": invalid syntax
    true

    2.2 ParseInt()

    ParseInt() 函数用于返回字符串表示的整数值(可以包含正负号),函数签名如下:

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

    参数说明:

    • base 指定进制,取值范围是 2 到 36。如果 base 为 0,则会从字符串前置判断,“0x”是 16 进制,“0”是 8 进制,否则是 10 进制。

    • bitSize 指定结果必须能无溢出赋值的整数类型,0、8、16、32、64 分别代表 int 、 int8 、 int16 、 int32 、 int64 。

    • 返回的 err 是 *NumErr 类型的,如果语法有误, err.Error = ErrSyntax ,如果结果超出类型范围 err.Error = ErrRange 。

    代码示例:

    func main() {    str := "-11"     num, err := strconv.ParseInt(str, 10, 0)    if err != nil {        fmt.Println(err)    } else {        fmt.Println(num)    }}

    2.3 ParseUnit()

    ParseUint() 函数的功能类似于 ParseInt() 函数,但 ParseUint() 函数不接受正负号,用于无符号整型,函数签名如下:

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

    代码示例:

    func main() {    str := "11"     num, err := strconv.ParseUint(str, 10, 0)    if err != nil {        fmt.Println(err)    } else {        fmt.Println(num) // 11    }}

    2.4 ParseFloat()

    ParseFloat()函数用于将一个表示浮点数的字符串转换为 float类型,函数签名如下。

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

    参数说明:

    • 如果 s 合乎语法规则,函数会返回最为接近 s 表示值的一个浮点数(使用 IEEE754 规范舍入)。

    • bitSize 指定了返回值的类型, 32 表示 float32 , 64 表示 float64 ;

    • 返回值 err 是 *NumErr 类型的,如果语法有误 err.Error=ErrSyntax ,如果返回值超出表示范围,返回值 f 为 ±Inf,err.Error= ErrRange 。

    func main() {    str := "3.1415926"    num, err := strconv.ParseFloat(str, 64)    if err != nil {        fmt.Println(err)    } else {        fmt.Println(num)    // 3.1415926    }}

    Parse 系列函数都有两个返回值,第一个返回值是转换后的值,第二个返回值为转化失败的错误信息。

    3. Format 系列函数

    Format 系列函数实现了将给定类型数据格式化为字符串类型的功能,其中包括 FormatBool() 、 FormatInt() 、 FormatUint()、 FormatFloat() 。

    3.1 FormatBool()

    FormatBool() 函数可以一个 bool 类型的值转换为对应的字符串类型,函数签名如下。

    func FormatBool(b bool) string

    代码示例:

    func main() {    num := true    str := strconv.FormatBool(num)    fmt.Printf("type:%T,value:%v\n ", str, str)    // type:string,value:true}

    3.2 FormatInt()

    FormatInt() 函数用于将整型数据转换成指定进制并以字符串的形式返回,函数签名如下:

    func FormatInt(i int64, base int) string

    其中,参数 i 必须是 int64 类型,参数 base 必须在 2到 36 之间,返回结果中会使用小写母“a”到“z”表示大于 10的数字。

    代码示例:

    func main() {    var num int64 = 100    str := strconv.FormatInt(num, 16)    fmt.Printf("type:%T,value:%v\n ", str, str)    // type:string,value:64}

    3.3 FormatUint()

    FormatUint() 函数与 FormatInt() 函数的功能类似,但是参数 i 必须是无符号的 uint64 类型,函数签名如下。

    func FormatUint(i uint64, base int) string

    示例代码:

    func main() {    var num uint64 = 110    str := strconv.FormatUint(num, 16)    fmt.Printf("type:%T,value:%v\n ", str, str)    // type:string,value:6e}

    3.4 FormatFloat()

    FormatFloat() 函数用于将浮点数转换为字符串类型,函数签名如下:

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

    参数说明:

    • bitSize 表示参数 f 的来源类型(32 表示 float32、64 表示 float64),会据此进行舍入。

    • fmt 表示格式,可以设置为“f”表示 -ddd.dddd、“b”表示 -ddddp±ddd,指数为二进制、“e”表示 -d.dddde±dd 十进制指数、“E”表示 -d.ddddE±dd 十进制指数、“g”表示指数很大时用“e”格式,否则“f”格式、“G”表示指数很大时用“E”格式,否则“f”格式。

    • prec 控制精度(排除指数部分):当参数 fmt 为“f”、“e”、“E”时,它表示小数点后的数字个数;当参数 fmt 为“g”、“G”时,它控制总的数字个数。如果 prec 为 -1,则代表使用最少数量的、但又必需的数字来表示 f。

    func main() {    var num float64 = 3.1415926    str := strconv.FormatFloat(num, 'E', -1, 64)    fmt.Printf("type:%T,value:%v\n ", str, str)    // type:string,value:3.1415926E+00}

    4. Append 系列函数

    Append 系列函数用于将指定类型转换成字符串后追加到一个切片中,其中包含 AppendBool() 、 AppendFloat() 、 AppendInt() 、 AppendUint() 。

    Append 系列函数和 Format系列函数的使用方法类似,只不过是将转换后的结果追加到一个切片中。

    package main import (    "fmt"    "strconv") func main() {    // 声明一个slice    b10 := []byte("int (base 10):")     // 将转换为10进制的string,追加到slice中    b10 = strconv.AppendInt(b10, -42, 10)    fmt.Println(string(b10))    b16 := []byte("int (base 16):")    b16 = strconv.AppendInt(b16, -42, 16)    fmt.Println(string(b16))}

    输出:

    int (base 10):-42
    int (base 16):-2a

    以上就是关于“Go语言标准库之strconv怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

    免责声明:

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

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

    Go语言标准库之strconv怎么使用

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

    下载Word文档

    猜你喜欢

    Go语言标准库之strconv怎么使用

    这篇“Go语言标准库之strconv怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言标准库之strconv怎么
    2023-07-05

    Go语言标准库之strconv的使用

    本文主要介绍了Go语言标准库之strconv的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-07

    Go语言标准库strconv怎么使用

    这篇文章主要介绍“Go语言标准库strconv怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言标准库strconv怎么使用”文章能帮助大家解决问题。import "strconv"st
    2023-07-06

    一文搞懂Go语言标准库strconv

    strconv包实现了基本数据类型和其字符串表示的相互转换,本文主要介绍Go语言标准库strconv,想要学习strconv标准库的可以了解一下
    2023-05-15

    C语言标准库函数qsort怎么使用

    C语言标准库函数qsort可以用来对数组进行快速排序。qsort函数的原型如下:```cvoid qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *
    2023-08-25

    C语言标准库函数fread怎么使用

    C语言标准库函数fread用于从文件中读取数据。函数原型为:```csize_t fread(void *ptr, size_t size, size_t count, FILE *stream);```参数说明:- `ptr`:指向要读取
    2023-08-25

    Go语言标准库的使用技巧简易指南

    快速入门:掌握Go语言标准库的使用技巧摘要:Go语言是一门简洁高效的编程语言,其标准库拥有丰富的功能模块,能够快速地实现各种常用的任务。本文将介绍一些使用Go语言标准库的技巧,并给出具体的代码示例,帮助读者快速入门。引言:标准库是编程语
    Go语言标准库的使用技巧简易指南
    2024-01-30

    Go语言如何使用标准库发起HTTP请求

    本篇内容介绍了“Go语言如何使用标准库发起HTTP请求”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTTP请求的基本结构在发起HTTP请求
    2023-07-05

    python标准库模块之json库怎么使用

    今天小编给大家分享一下python标准库模块之json库怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言json,
    2023-07-02

    Go语言之Switch语句怎么使用

    这篇“Go语言之Switch语句怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言之Switch语句怎么使用”文
    2023-07-02

    一文详解Go语言fmt标准库的常用占位符使用

    这篇文章主要为大家详细介绍了Go语言中fmt标准库的常用占位符及其简单使用,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2022-12-23

    go语言中怎么使用openssl库

    在Go语言中使用OpenSSL库可以通过调用C语言的接口来实现。首先需要安装CGO工具,然后在Go代码中引入C语言的头文件和库文件,然后在Go代码中调用相应的OpenSSL函数即可。以下是一个简单的示例代码,演示了如何在Go语言中使用Op
    go语言中怎么使用openssl库
    2024-04-09

    Go语言基础之怎么使用Map

    这篇文章主要讲解了“Go语言基础之怎么使用Map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言基础之怎么使用Map”吧!引入mapmap,在Python中叫字典,Java中也叫map
    2023-06-16

    Go语言之init函数怎么使用

    今天小编给大家分享一下Go语言之init函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。init函数会在main函
    2023-07-02

    Go语言标准库功能与用法的详细解析

    深入解析:Go语言标准库的功能与用法,需要具体代码示例导语:Go语言是一种开源的静态类型编程语言,旨在提供能够轻松编写高性能、可靠和简洁代码的工具。而Go语言的标准库则是其社区积极开发和贡献的成果,提供了丰富的功能和方便的工具。本文将深入
    Go语言标准库功能与用法的详细解析
    2024-01-30

    go语言空白标识符怎么使用

    这篇文章主要介绍了go语言空白标识符怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go语言空白标识符怎么使用文章都会有所收获,下面我们一起来看看吧。在go语言中,空白标识符是未使用的值的占位符,由下划线
    2023-07-05

    详解Go语言如何使用标准库sort对切片进行排序

    Sort 标准库提供了对基本数据类型的切片和自定义类型的切片进行排序的函数。今天主要分享的内容是使用 Go 标准库 sort 对切片进行排序,感兴趣的可以了解一下
    2022-12-21

    编程热搜

    • 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动态编译

    目录