golang 的strconv包常用方法

目录

1. 字符串与整数的转换

2. 字符串与浮点数的转换

3. 布尔值的转换

4. 字符串的转义

5. 补充:rune 类型的使用

方法功能详解

代码示例:


1. 字符串与整数的转换
方法名称功能描述示例
Atoi将字符串转换为十进制整数。strconv.Atoi("123")
Itoa将整数转换为十进制字符串。strconv.Itoa(123)
ParseInt将字符串解析为指定进制的整数。strconv.ParseInt("520", 10, 64)
ParseUint将字符串解析为指定进制的无符号整数。strconv.ParseUint("FF", 16, 64)
FormatInt将整数转换为指定进制的字符串。strconv.FormatInt(520, 8)
FormatUint将无符号整数转换为指定进制的字符串。strconv.FormatUint(520, 8)

2. 字符串与浮点数的转换
方法名称功能描述示例
ParseFloat将字符串解析为浮点数。strconv.ParseFloat("3.1415926", 64)
FormatFloat将浮点数转换为字符串,并格式化。strconv.FormatFloat(3.1415926, 'f', 3, 32)

3. 布尔值的转换
方法名称功能描述示例
FormatBool将布尔值转换为字符串 "true" 或 "false"。strconv.FormatBool(true)

4. 字符串的转义
方法名称功能描述示例
Quote返回带双引号的转义字符串。strconv.Quote("hello world")
QuoteRuneToASCII返回单个字符的转义表示,仅使用ASCII字符。strconv.QuoteRuneToASCII('😊')

5. 补充:rune 类型的使用
方法名称功能描述示例
rune表示单个 Unicode 码点。var r rune = 'A'
FormatUint转换为整数值查看 Unicode 码点。fmt.Printf("Unicode code point of '世' is %U\n", '世')

方法功能详解

  1. 字符串与整数的转换

    • strconv.Atoi(s string):将字符串 s 转换为十进制整数。如果转换成功,返回转换后的整数和 nil 错误;否则,返回 0 和非 nil 错误。
    • strconv.Itoa(i int):将整数 i 转换为十进制字符串。
    • strconv.ParseInt(s string, base int, bitSize int):将字符串 s 解析为指定 base 进制的整数,bitSize 参数可以是 0(表示整数是无符号的)、32 或 64,以指定结果的类型。如果 base 为 0,则自动检测进制(默认为十进制,但前缀为 "0x" 的字符串将被解释为十六进制)。
    • strconv.ParseUint(s string, base int, bitSize int):功能与 ParseInt 类似,但用于无符号整数。
    • strconv.FormatInt(i int64, base int):将整数 i 转换为指定 base 进制的字符串。
    • strconv.FormatUint(i uint64, base int):将无符号整数 i 转换为指定 base 进制的字符串。
  2. 字符串与浮点数的转换

    • strconv.ParseFloat(s string, bitSize int):将字符串 s 解析为浮点数,bitSize 为 32 或 64,以指定结果的类型(float32 或 float64)。
    • strconv.FormatFloat(f float64, format byte, precision, bitSize int)
      • format:表示格式,可以是 'f'(定点)、'e'(科学计数)、'g'(根据情况选择 'e' 或 'f')。
      • precision:决定结果的小数位数或科学计数法的位数。
      • bitSize:可以是 32 或 64,表示结果的类型。
  3. 布尔值的转换

    • strconv.FormatBool(b bool):将布尔值 b 转换为字符串 "true" 或 "false"。
  4. 字符串的转义

    • strconv.Quote(s string):返回带双引号的字符串,并转义内部的特殊字符(如 \n、\t 等)。这在需要确保字符串在编程语言语境下正确表示时很有用。
    • strconv.QuoteRuneToASCII(r rune):返回单个字符的转义表示,仅使用 ASCII 字符。对于 Unicode 字符,返回其十六进制转义形式,如 \U0001F60A
  5. rune 类型的使用

    • rune:是 Go 语言中用于表示单个 Unicode 码点的内置类型,可以直接赋值字符(如 var r rune = 'A')。
    • fmt.Printf("%U", r):打印 Unicode 码点的完整表示,例如 U+0041 表示字符 'A'。

代码示例:

package mainimport ("fmt""strconv"
)func main() {n, _ := strconv.Atoi("123")fmt.Printf("%d\n", n)s1 := strconv.Itoa(123)fmt.Printf("%s\n", s1)// 字符串、进制、位数n2, _ := strconv.ParseInt("520", 10, 64)fmt.Printf("%d\n", n2)n3, _ := strconv.ParseUint("FF", 16, 64) // 将十六进制字符串"FF"转换为无符号整数fmt.Printf("%d\n", n3)//s2 := strconv.FormatBool(true)fmt.Println(s2) // "true"//s3 := strconv.FormatFloat(3.1415926, 'f', 3, 32)fmt.Println(s3)//s4 := strconv.FormatInt(520, 8)fmt.Println(s4)s4 = strconv.FormatUint(520, 8)fmt.Println(s4)//s5 := strconv.Quote("hello world")fmt.Println(s5) // `"hello world"` 返回带双引号的字符串//s6 := strconv.QuoteRuneToASCII('!') //单个runefmt.Println(s6)                     // `'!'`var dst []bytedst = strconv.AppendQuoteRuneToASCII(dst, '😊')fmt.Println(string(dst)) // `\U0001F60A`// rune类型:rune 是一个内置类型,它是 int32 的别名,主要用于表示单个Unicode字符。// 这意味着 rune 可以存储任何Unicode码点(code point),包括所有的国际字符、符号以及表情符号等。// 直接定义一个rune变量var r rune = 'A'fmt.Printf("Type of r is %T and value is %c\n", r, r)// 遍历字符串中的runestr := "Hello, 世界"for _, r := range str {fmt.Printf("%c ", r) // 输出: H e l l o ,   世 界}fmt.Println()// 转换为整数值查看Unicode码点fmt.Printf("Unicode code point of '世' is %U\n", '世') // 输出: Unicode code point of '世' is U+4E16}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB详细图文安装教程(附安装包)

前言 MATLAB(Matrix Laboratory)是由MathWorks公司开发的一款高性能的编程语言和交互式环境,主要用于数值计算、数据分析和算法开发。内置数学函数和工具箱丰富,开发效率高,特别适合矩阵运算和领域特定问题。接下来就…

ShapeCrawler:.NET开发者的PPTX操控魔法

引言 在当今的软件开发领域,随着数据可视化和信息展示需求的不断增长,处理 PPTX 文件的场景日益频繁。无论是自动化生成报告、批量制作演示文稿,还是对现有 PPT 进行内容更新与格式调整,开发者都需要高效的工具来完成这些任务。传…

HTML5贪吃蛇游戏开发经验分享

HTML5贪吃蛇游戏开发经验分享 这里写目录标题 HTML5贪吃蛇游戏开发经验分享项目介绍技术栈核心功能实现1. 游戏初始化2. 蛇的移动控制3. 碰撞检测4. 食物生成 开发心得项目收获后续优化方向结语 项目介绍 在这个项目中,我使用HTML5 Canvas和原生JavaScript实现了一…

有关pip与conda的介绍

Conda vs. Pip vs. Virtualenv 命令对比 任务Conda 命令Pip 命令Virtualenv 命令安装包conda install $PACKAGE_NAMEpip install $PACKAGE_NAMEX更新包conda update --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip install --upgrade $PACKAGE_NAMEX更新包管理器conda update con…

【Linux】调试器——gdb使用

目录 一、预备知识 二、常用指令 三、调试技巧 (一)监视变量的变化指令 watch (二)更改指定变量的值 set var 正文 一、预备知识 程序的发布形式有两种,debug和release模式,Linux gcc/g出来的二进制…

【Ubuntu常用命令】

1.将本地服务器文件或文件夹传输到远程服务器 文件 scp /data/a.txt administrator10.60.51.20:/home/administrator/ 文件夹 scp -r /data/ administrator10.60.51.20:/home/administrator/ 2.从远程服务器传输文件到本地服务器 scp administrator10.60.51.20:/data/a.txt /h…

golang 的time包的常用方法

目录 time 包方法总结 类型 time.Time 的方法 库函数 代码示例: time 包方法总结 类型 time.Time 的方法 方法名描述示例               ẵNow()获取当前时间和日期time.Now()Format()格式化时间为字符串time.Now().Format("2006-01-02 15…

Elasticsearch:使用 Azure AI 文档智能解析 PDF 文本和表格数据

作者:来自 Elastic James Williams 了解如何使用 Azure AI 文档智能解析包含文本和表格数据的 PDF 文档。 Azure AI 文档智能是一个强大的工具,用于从 PDF 中提取结构化数据。它可以有效地提取文本和表格数据。提取的数据可以索引到 Elastic Cloud Serve…

【ArcGIS操作】ArcGIS 进行空间聚类分析

ArcGIS 是一个强大的地理信息系统(GIS)软件,主要用于地理数据的存储、分析、可视化和制图 启动 ArcMap 在 Windows 中,点击“开始”菜单,找到 ArcGIS文件夹,然后点击 ArcMap 添加数据 添加数据 - 点击工具…

RabbitMQ消息相关

MQ的模式: 基本消息模式:一个生产者,一个消费者work模式:一个生产者,多个消费者订阅模式: fanout广播模式:在Fanout模式中,一条消息,会被所有订阅的队列都消费。 在广播…

缓存使用纪要

一、本地缓存:Caffeine 1、简介 Caffeine是一种高性能、高命中率、内存占用低的本地缓存库,简单来说它是 Guava Cache 的优化加强版,是当下最流行、最佳(最优)缓存框架。 Spring5 即将放弃掉 Guava Cache 作为缓存机…

2025年3月29日笔记

问题&#xff1a;创建一个长度为99的整数数组&#xff0c;输出数组的每个位置数字是几&#xff1f; 解题思路&#xff1a; 1.因为题中没有明确要求需要输入,所以所有类型的答案都需要写出 解法1&#xff1a; #include<iostream> #include<bits/stdc.h> using n…

hadoop相关面试题以及答案

什么是Hadoop&#xff1f;它的主要组件是什么&#xff1f; Hadoop是一个开源的分布式计算框架&#xff0c;用于处理大规模数据的存储和计算。其主要组件包括Hadoop Distributed File System&#xff08;HDFS&#xff09;和MapReduce。 解释HDFS的工作原理。 HDFS采用主从架构&…

微信小程序:数据拼接方法

1. 使用 concat() 方法拼接数组 // 在原有数组基础上拼接新数组 Page({data: {originalArray: [1, 2, 3]},appendData() {const newData [4, 5, 6];const combinedArray this.data.originalArray.concat(newData);this.setData({originalArray: combinedArray});} }) 2. 使…

Python之贪心算法

Python实现贪心算法(Greedy Algorithm) 概念 贪心算法是一种在每一步选择中都采取当前状态下最优的选择&#xff0c;从而希望导致结果是全局最优的算法策略。 基本特点 局部最优选择&#xff1a;每一步都做出当前看起来最佳的选择不可回退&#xff1a;一旦做出选择&#xf…

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的 AOP:实现日志记录与性能监控

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、开篇整…

TCP/IP协议簇

文章目录 应用层http/httpsDNS补充 传输层TCP1. 序列号与确认机制2. 超时重传3. 流量控制&#xff08;滑动窗口机制&#xff09;4. 拥塞控制5. 错误检测与校验6. 连接管理总结 网络层ARP**ARP 的核心功能**ARP 的工作流程1. ARP 请求&#xff08;Broadcast&#xff09;2. ARP 缓…

SpringBoot分布式项目订单管理实战:Mybatis最佳实践全解

一、架构设计与技术选型 典型分布式订单系统架构&#xff1a; [网关层] → [订单服务] ←→ [分布式缓存]↑ ↓ [用户服务] [支付服务]↓ ↓ [MySQL集群] ← [分库分表中间件]技术栈组合&#xff1a; Spring Boot 3.xMybatis-Plus 3.5.xShardingSpher…

微服务架构中的精妙设计:环境和工程搭建

一.前期准备 1.1开发环境安装 Oracle从JDK9开始每半年发布⼀个新版本, 新版本发布后, ⽼版本就不再进⾏维护. 但是会有⼏个⻓期维护的版本. ⽬前⻓期维护的版本有: JDK8, JDK11, JDK17, JDK21 在 JDK版本的选择上&#xff0c;尽量选择⻓期维护的版本. 为什么选择JDK17? S…

Maven 构建配置文件详解

Maven 构建配置文件详解 引言 Maven 是一个强大的项目管理和构建自动化工具,广泛应用于 Java 开发领域。在 Maven 项目中,配置文件扮演着至关重要的角色。本文将详细介绍 Maven 构建配置文件的相关知识,包括配置文件的作用、结构、配置方法等,帮助读者更好地理解和应用 M…