golang类型转换小总结
Posted justdoyou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang类型转换小总结相关的知识,希望对你有一定的参考价值。
1. int <--> string
1.1. int --> string
str := strconv.Itoa(intVal)
当然,整数转换成字符串还有其他方法,比如
fmt.Sprintf
strconv.FormatInt
1.2. string --> int
intVal,err := strconv.Atoi(str)
2. string --> int64
2.1. string --> int64
int64Val,err := strconv.ParseInt(str, 10, 64)
2.2. int64 --> string
str := strconv.FormatInt(int64Val, 10)
其中FormatInt第二个参数表示进制,10表示十进制
需要注意转换规定
FormatInt returns the string representation of i in the given base, for 2 <= base <= 36.
The result uses the lower-case letters ‘a‘ to ‘z‘ for digit values >= 10
3. float --> string
3.1. float --> string
v := 3.1415926535 s1 := strconv.FormatFloat(v, ‘E‘, -1, 32)//float32 s2 := strconv.FormatFloat(v, ‘E‘, -1, 64)//float64
第二个参数可选‘f‘/‘e‘/‘E‘等,含义如下:
‘b‘ (-ddddp±ddd,二进制指数)
‘e‘ (-d.dddde±dd,十进制指数)
‘E‘ (-d.ddddE±dd,十进制指数)
‘f‘ (-ddd.dddd,没有指数)
‘g‘ (‘e‘:大指数,‘f‘:其它情况)
‘G‘ (‘E‘:大指数,‘f‘:其它情况)
3.2. string --> float
s := "3.1415926535" v1, err := strconv.ParseFloat(v, 32) v2, err := strconv.ParseFloat(v, 64)
4.float --> int
var a int64 a = 1 var b float64 b = 2.000
4.1. float --> int
d := int64(b)
4.2. int --> float
c := float64(a)
以上是关于golang类型转换小总结的主要内容,如果未能解决你的问题,请参考以下文章