go string to int 字符串与整数型的互换方式
作者:123hello123
这篇文章主要介绍了go string to int 字符串与整数型的互换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。