Go语言从入门到精通 - 【精华篇】strconv包详解
本节核心内容
- 介绍 Go语言的strconv包
- 介绍 开发中几种常用类型的转换方法
本小节视频教程和代码:百度网盘
可先下载视频和源码到本地,边看视频边结合源码理解后续内容,边学边练。
strconv包简介
在Go语言中,我们往往需要对一些常用的数据类型进行转换,如string,int,int64 ,float等数据类型之间的转换,基于此Go语言为我们提供了一个名为strconv的包来为我们提供这些类型的转换方法。
下面将通过几个简单的示例给大家分享Go语言常用类型如string,int,int64 ,float之间的类型转换方法
(1)int转string
s := strconv.Itoa(i)
//等价于s := strconv.FormatInt(int64(i), 10)
(2)int64转string
i := int64(123)
s := strconv.FormatInt(i, 10)
第二个参数为基数,可选2~36
注:对于无符号整形,可以使用FormatUint(i uint64, base int)
(3)string转int
i, err := strconv.Atoi(s)
(4)string转int64
i, err := strconv.ParseInt(s, 10, 64)
第二个参数为基数(2~36),第三个参数位大小表示期望转换的结果类型,其值可以为0, 8, 16, 32和64,分别对应 int, int8, int16, int32和int64
(5)float相关
float转string:
v := 3.1415926535
s1 := strconv.FormatFloat(v, 'E', -1, 32)//float32s2 := strconv.FormatFloat(v, 'E', -1, 64)//float64
string转float:
s := "3.1415926535"
v1, err := strconv.ParseFloat(v, 32)
v2, err := strconv.ParseFloat(v, 64)
PS:go语言string、int、int64互相转换
//string到int
int,_:=strconv.Atoi("123")
fmt.Printf("type:%T;值:%v",int,int)
fmt.Println()
//string到int64
int64, _ := strconv.ParseInt("456", 10, 64)
fmt.Printf("type:%T;值:%v",int64,int64)
fmt.Println()
//int到string
string:=strconv.Itoa(int)
fmt.Printf("type:%T;值:%v",string,string)
fmt.Println()
//int64到string
str10:=strconv.FormatInt(160,10)
fmt.Printf("type:%T;值:%v",str10,str10)
fmt.Println()
//string到float32(float64)
float,_ := strconv.ParseFloat("165.34",32/64)
fmt.Printf("type:%T;值:%v",float,float)
fmt.Println()
//float到string
fts32 := strconv.FormatFloat(3.1415926, 'e', -1, 32)
fts64 := strconv.FormatFloat(3.1415926, 'E', -1, 64)
fmt.Printf("type:%T;值:%v",fts32,fts32)
fmt.Println()
fmt.Printf("type:%T;值:%v",fts64,fts64)
小结
本小节主要讲解了Go语言中自带的strconv包有什么作用,通过代码演练的方式讲解了该包的几种常用方法。
再回首能否就能天宽地阔,撒一段青春,留给山河评说,执步向前不回头就能解脱,含笑接受错过,秋风悲过叶落,家燕明年依然返穴,太阳的升月亮的缺,有失也必会有得