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包有什么作用,通过代码演练的方式讲解了该包的几种常用方法。

posted @ 2019-01-18 14:11  回首笑人间  阅读(1131)  评论(0编辑  收藏  举报
CSS日食与太阳碰撞

更多源码:源码之家