• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go语言从入门到精通 - 【精华篇】strconv包详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本节核心内容

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言从入门到精通 - 包发布时间:2022-07-10
下一篇:
Go语言从入门到精通 - 指针发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap