开发者

go string to int 字符串与整数型的互换方式

目录
  • go string to int 字符串与编程客栈整数型的互换
  • golang string 转 int,int64,int编程客栈32
    • interface{}
    • 第一种知道是什么类型
    • 第二种不知编程客栈道是什么类型
  • 总结

    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 f编程客栈ailed, 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
    	}
    }
     
    funjsc main() {
    	interface2Type("niuben")
    	interface2Type(1122)
    	interface2Type(11.22)
    }

    输出

    string niuben

    int 1122

    float64 11.22

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜