go string to int 字符串与整数型的互换
package main
import (
"fmt"
"strconv"
)
func main() {
// 把字符串转换为数字
str := "10000"
ret1, err := strconv.parseint(str, 10, 64)
if err != nil {
fmt.printf("paresint failed, err:%v", err)
return
}
fmt.printf("%#v %tn", ret1, ret1)
// 把数字转换为字符串
i := int32(97)
ret2 := fmt.sprintf("%d", i)
fmt.printf("%#v", ret2)
}golang string 转 int,int64,int32
interface{}
interface{} 接口、interface{} 类型很多人都会混淆。
interface{} 类型是没有方法的接口。
由于没有 implements 关键字,所以说所有的类型都至少实现了 0 个方法,所有类型都实现了空接口。
这意味着,如果编写一个函数以 interface{} 值作为参数,那么你可以为该函数提供任何值。
例如:
func dosomething(v interface{}) {
// ...
}第一种知道是什么类型
如果知道是什么类型的话,就可以直接转
// 假设 v 为 string或int64或float64
func dosomething(v interface{}) {
string1 := v.(string)
int1 := v.(int64)
float1 := v.(float64)
}第二种不知道是什么类型
这时候就可以使用类型断言,然后再转为具体类型
func interface2type(i interface{}) {
switch i.(type) {
case string:
fmt.println("string", i.(string))
break
case int:
fmt.println("int", i.(int))
break
case float64:
fmt.println("float64", i.(float64))
break
}
}
func main() {
interface2type("niuben")
interface2type(1122)
interface2type(11.22)
}输出
string niuben
int 1122
float64 11.22
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论