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类型转换小总结的主要内容,如果未能解决你的问题,请参考以下文章

Golang常见类型转换

Golang M 2023 6 topic

在代码片段中包含类型转换

golang数据类型和各类型转换注意细节图文+代码

ingerface{}类型转换总结

golang goroutine例子[golang并发代码片段]