golang 中int, float, string 以及interface{}直接的互相转换
int 转float
1
2
3
4
|
var a int
var b float64
a = 10
b = float64(a) //ps: 如果是float32,就使用float32(a)
|
int 转string
1
2
3
4
5
6
7
8
9
|
//第一种方式通过 fmt.sPrintf() 转换string
var str string
a := 10
str = fmt.Sprintf("%d", a)
//第二种方式通过 strconv包 转换 string
var str1 string
a1 := 10
str1 = strconv.FormatInt(int64(a1), 10)
|
float 转int
1
2
3
4
|
var a float32
var b int
a = 12.0
b = int(a)
|
float 转string
1
2
3
|
也是两种方式
第一种方式通过 fmt.sPrintf() 转换string
第二种方式通过 strconv包 转换 string strconv.FormatFloat()
|
string 转int
1
2
3
4
5
6
7
|
//第一种方式通过 strconv.Atoi
var str string
str = 10
int, err := strconv.Atoi(str)
//第二种方式通过strconv.ParseInt
int64, err := strconv.ParseInt(string, 10, 64)
|
string转float
1
|
float,err := strconv.ParseFloat(string,64) (64/32)
|
interface{}转其他类型
var a interface{}
//a = 10
//a = 10.1
a = "sss"
var b int
var c float64
var d string
switch t := a.(type) {
case int:
fmt.Println("int")
b = a.(int) //interface{} 转 int
fmt.Println(b)
case float64:
c = a.(float64) //interface{} 转 float
fmt.Println(c)
case string:
d = a.(string) //interface{} 转 string
fmt.Println(d)
default:
_ = t
fmt.Println("unKonw")
}
使用 inter.(type)
inter是interface{}变量的名字,type是具体的类型(int,float32等)