当前位置:首页 > 科技  > 软件

Golang 中的 Strconv 包详解,看这篇就够了

来源: 责编: 时间:2023-11-03 09:16:36 411观看
导读strconv 是 Golang 中一个非常常用的包,主要用于字符串和基本数据类型之间的相互转换。本文将详细介绍 strconv 包的常用函数及用法。strconv.Atoi 和 strconv.ItoaAtoi 函数用于将字符串转换为 int 类型,Itoa 函数则用

vvL28资讯网——每日最新资讯28at.com

strconv 是 Golang 中一个非常常用的包,主要用于字符串和基本数据类型之间的相互转换。本文将详细介绍 strconv 包的常用函数及用法。vvL28资讯网——每日最新资讯28at.com

strconv.Atoi 和 strconv.Itoa

Atoi 函数用于将字符串转换为 int 类型,Itoa 函数则用于将 int 类型转换为字符串类型。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (    "fmt"    "strconv")func main() {    str := "123"    intValue, _ := strconv.Atoi(str)    fmt.Printf("str to int: %d/n", intValue)    intValue += 1    str = strconv.Itoa(intValue)    fmt.Printf("int to str: %s/n", str)}

strconv.Parse 系列函数

strconv.Parse 系列函数用于将字符串解析为指定类型。其中常用的函数有 ParseInt、ParseBool 和 ParseFloat。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (	"fmt"	"strconv")func main() {	// 解析整数	intStr := "123"	intValue, _ := strconv.ParseInt(intStr, 10, 64)	fmt.Printf("Parsed int value: %d/n", intValue)	// 解析布尔值	boolStr := "true"	boolValue, _ := strconv.ParseBool(boolStr)	fmt.Printf("Parsed bool value: %t/n", boolValue)	// 解析浮点数	floatStr := "3.14"	floatValue, _ := strconv.ParseFloat(floatStr, 64)	fmt.Printf("Parsed float value: %f/n", floatValue)}

strconv.Format 系列函数

strconv.Format 系列函数用于将基本数据类型转换为字符串类型。常用的函数有 FormatInt、FormatBool 和 FormatFloat。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (	"fmt"	"strconv")func main() {	// 格式化整数	intValue := 123	intStr := strconv.FormatInt(int64(intValue), 10)	fmt.Printf("Formatted int string: %s/n", intStr)	// 格式化布尔值	boolValue := true	boolStr := strconv.FormatBool(boolValue)	fmt.Printf("Formatted bool string: %s/n", boolStr)	// 格式化浮点数	floatValue := 3.14	floatStr := strconv.FormatFloat(floatValue, 'f', -1, 64)	fmt.Printf("Formatted float string: %s/n", floatStr)}

strconv.Append 系列函数

strconv.Append 系列函数用于将基本数据类型追加到已存在的字节数组中。常用的函数有 AppendInt、AppendBool 和 AppendFloat。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (    "fmt"    "strconv")func main() {    // 追加整数到字节数组    num1 := 123    byteSlice := []byte("Number: ")    byteSlice = strconv.AppendInt(byteSlice, int64(num1), 10)    fmt.Printf("Appended int: %s/n", byteSlice)    // 追加布尔值到字节数组    boolVal := true    byteSlice = []byte("Bool: ")    byteSlice = strconv.AppendBool(byteSlice, boolVal)    fmt.Printf("Appended bool: %s/n", byteSlice)    // 追加浮点数到字节数组    floatVal := 3.14    byteSlice = []byte("Float: ")    byteSlice = strconv.AppendFloat(byteSlice, floatVal, 'f', -1, 64)    fmt.Printf("Appended float: %s/n", byteSlice)}

strconv.IsPrint 和 strconv.IsGraphic

strconv.IsPrint 函数用于判断给定的 Unicode 字符是否可打印,可打印字符是指那些可以在屏幕上显示的字符。strconv.IsGraphic 函数用于判断给定的 Unicode 字符是否是图形字符,图形字符是指可视化的字符。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (	"fmt"	"strconv")func main() {	chars := []rune{'H', 'e', 'l', '/n', '♥', 127}	for _, char := range chars {		fmt.Printf("Character: %c, IsPrint: %v/n", char, strconv.IsPrint(char))		fmt.Printf("Character: %c, IsGraphic: %v/n", char, strconv.IsGraphic(char))	}}

strconv.Quote 和 strconv.Unquote 系列函数

strconv.Quote 系列函数用于转义和引用字符串的功能,将字符串转换为可以直接表示的字符串字面值(literal),包括添加转义字符和引号。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (	"fmt"	"strconv")func main() {	str := `路多辛的, "所思所想"!`	quoted := strconv.Quote(str)	fmt.Println("Quoted: ", quoted)	unquoted, err := strconv.Unquote(quoted)	if err != nil {		fmt.Println("Unquote error: ", err)	} else {		fmt.Println("Unquoted: ", unquoted)	}}

strconv.CanBackquote

strconv.CanBackquote 函数用于检查字符串是否可以不变地表示为单行反引号字符串(即以 `` 开头和结尾的字符串)。简单使用示例如下:vvL28资讯网——每日最新资讯28at.com

package mainimport (	"fmt"	"strconv")func main() {	str1 := "Hello, world!"	str2 := "`Hello, world!`"	str3 := "`Hello,/nworld!`"	fmt.Println(strconv.CanBackquote(str1)) // 输出:false	fmt.Println(strconv.CanBackquote(str2)) // 输出:true	fmt.Println(strconv.CanBackquote(str3)) // 输出:false}

本文链接:http://www.28at.com/showinfo-26-16730-0.htmlGolang 中的 Strconv 包详解,看这篇就够了

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 代码速度慢?避免这 19 种常见的 JavaScript 和 Node.js 错误

下一篇: 慌了,我老板说:AI 将100% 取代前端

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的“头腾
  • 网红炒股不为了赚钱,那就是耍流氓!

    来源:首席商业评论6月26日高调宣布入市,网络名嘴大v胡锡进居然进军了股市。在一次财经媒体峰会上,几个财经圈媒体大佬就“胡锡进炒股是否知道认真报道”展开讨论。有
  • 苹果公司要求三星和LG Display生产「无边框」OLED iPhone显示屏

    据 The Elec 报道,苹果已要求其供应商为未来的 iPhone 型号开发「无边框」OLED 显示面板。苹果显然已要求三星和 LG Display 开发新的 OLED 显示面
  • 7月4日见!iQOO 11S官宣:“鸡血版”骁龙8 Gen2+200W快充加持

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • Android 14发布:首批适配机型公布

    5月11日消息,谷歌在今天凌晨举行了I/O大会,本次发布会谷歌带来了自家的AI语言模型PaLM 2、谷歌Pixel Fold折叠屏、谷歌Pixel 7a手机,同时发布了Androi
  • onebot M24巧系列一体机采用轻薄机身设计,现已在各平台开售

    onebot M24 巧系列一体机目前已在线上线下各平台同步开售。onebot M24 巧系列采用一体化轻薄机身设计,最薄处为 10.15mm,拥有宝石红、午夜蓝、石墨绿、雅致
Top