Golang中各种类型转换
1.string转int
有两种方法,可以使用func Atoi(s string) (i int, err error),Atoi代表Ascii to Integer。还可以使用func ParseInt(s string, base int, bitSize int) (i int64, err error),base为进制,值为2~36,如果为0,则会根据字符串自动判断,前置为"0x"的是16进制,前置为"0"的是8进制,其余的为10进制,bitSize是返回的整数类型,0、8、16、32分别代表int、int8、int16、int32。
func main() {a,_:=strconv.Atoi("123456")fmt.Printf("a values %v\n",a)b,_:=strconv.ParseInt("123456",10,32)fmt.Printf("b values %v\n",b)c,_:=strconv.ParseInt("123456",10,16)fmt.Printf("c values %v\n",c)d,_:=strconv.ParseInt("111",2,32)fmt.Printf("d values %v\n",d)
}
以上代码会打印出
a values 123456
b values 123456
c values 32767
d values 7
看一下c,由于返回的是int16类型的值,int16类型的值的范围为-32768~32767,超过了返回类型的范围,会被截断,所以选择返回值类型时要选择正确。
2.int转string
使用func Itoa(i int) string方法,将int类型的转string类型。
func main() {var i int = 12345s:=strconv.Itoa(i)fmt.Printf("s values %v,type is %T",s,s)
}
以上会输出
s values 12345,type is string
3.string转bool
func main(){fmt.Println(strconv.ParseBool("t"))fmt.Println(strconv.ParseBool("TRUE"))fmt.Println(strconv.ParseBool("true"))fmt.Println(strconv.ParseBool("True"))fmt.Println(strconv.ParseBool("0"))fmt.Println(strconv.ParseBool("f"))
}
以上会输出
true <nil>
true <nil>
true <nil>
true <nil>
false <nil>
false <nil>
4.string转float
func ParseFloat(s string, bitSize int) (f float64, err error)mian(){f,err:=strconv.ParseFloat("20.58",64)if err!=nil {panic(err)}fmt.Printf("%v,%T",f,f)
}
输出
20.58,float64
5.float转string
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
其中fmt表示格式,’f’(-ddd.dddd)、’b’(-ddddp±ddd,指数为二进制)、’e’(-d.dddde±dd,十进制指数)、’E’(-d.ddddE±dd,十进制指数)、’g’(指数很大时用’e’格式,否则’f’格式)、’G’(指数很大时用’E’格式,否则’f’格式);prec表示控制的精度(排除指数部分):对’f’、’e’、’E’,它表示小数点后的数字个数;对’g’、’G’,它控制总的数字个数。如果prec 为-1,则代表使用最少数量的、但又必需的数字来表示f。
mian(){str:=strconv.FormatFloat(23.5670,'f',-1,64)str2:=strconv.FormatFloat(23.5670,'f',5,64)fmt.Println(str)fmt.Println(str2)
}
输出
23.567
23.56700
[]byte转string
Res := string(bytes)
string转[]byte
[]byte(str)
Golang中各种类型转换相关推荐
- Golang 中 Slice的分析与使用(含源码)
文章目录 1.slice结构体 2.slice初始化 3.append操作 4.slice截取 5.slice深拷贝 6.值传递还是引用传递 参考文献 众所周知,在golang中,slice(切片)是 ...
- golang中 type func() 用法分析
在看golang 的http服务部分代码时,被golang 中的 type func()写法难住了,一时没看懂代码.后来查资料后,有了一点理解. 在golang中可以通过这样简单实现一个http服务 ...
- Golang中Buffer高效拼接字符串以及自定义线程安全Buffer
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章.觉得好的话,顺手分享到朋友圈吧,感谢支持. Go中可以使用"+ ...
- C#.NET 中的类型转换
前些天,碰到了数据类型转换与格式化问题,在网上查找了一下,有人已经把它写了出来,粘贴如下,共大家分享: C#.NET 中的类型转换 C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了 ...
- 如何在golang中关闭bufio.reader_Golang 并发模型系列:1. 轻松入门流水线模型
Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! Golang作为一个实用主义的编程语言,非常注重性能,在语言特性上天然支持并发,它有多种并发模型,通过流水线模型系列文 ...
- HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...
- go语言的iota是什么意思_关于Golang中的iota
快速一览 iota是Golang中提供的一个简化常量和枚举编程的标识符,合理的使用这个标识符可以让代码变得更简洁,省去大量的不必要的代码. 比如下面的这个常量定义 const ( a = 1 b = ...
- Golang中的panic和recover(捕获异常)
Golang中的panic和recover(捕获异常) 参考文章: (1)Golang中的panic和recover(捕获异常) (2)https://www.cnblogs.com/zhzhlong ...
- golang 中string和int类型相互转换
总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: test_int, err := strconv.Atoi(test_string) if err != ni ...
最新文章
- 招聘行业颠覆者【伯小乐】| 手摸手产品研究院
- 怎样隐藏“滚动条”?
- RedHat7.0启动后黑屏
- ConcurrentModificationException并发修改异常
- [_CN] Eclipse精要与高级开发技术 note
- 详解python运行三种方式_详解python调用cmd命令三种方法
- 星外主机销售系统源码_业务员大客户销售订货订单管理系统源码开发外包解析...
- php 正则表达式 文档,php的正则表达式完全手册
- matlab显示图片
- 我的盖洛普“优势识别器”测试证书
- 对立与统一(期货反向跟单-交易员培训法则)
- 重大发现:微信新上线的“群接龙”功能,你还不知道吗?
- ps绘制超级五角星教程
- Python画水平和垂直线
- 《项目管理知识体系指南》(PMBOK®指南)第3 版
- 查看IC卡芯片的位置
- 使用Git时,Failed to connect to github.com port 443 after 21100 ms: Timed out
- python(pyqt5)多线程解决界面无响应
- rad2deg() 函数
- 基于树莓派运行OpenWrt固件
热门文章
- Coursera吴恩达机器学习课程 总结笔记及作业代码——第1,2周
- 【深度学习】基于STL10数据集构建 图像去噪自编码网络 的实验
- 【项目实战课】人人免费可学,基于Pytorch的BCNN鸟类细粒度图像分类实战
- what引导的宾语从句
- 8.5 代酷睿的 13 英寸旗舰 — Yoga S730 长测
- vue(9) - 收藏集 - 掘金
- MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换
- 魔百盒m401a折腾Armbian+qinglong -- 1
- html5图片动画源码,不容错过的jQuery图片动画及源码
- HTML5 CSS登录注册表单界面示例源码