目录
- go string to int 字符串与整数型的互换
- golang string 转 int,int64,int32
- 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 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{}
接口、 类型很多人都会混淆。 类型是没有方法的接口。
由于没有 关键字,所以说所有的类型都至少实现了 0 个方法,所有类型都实现了空接口。
这意味着,如果编写一个函数以 值作为参数,那么你可以为该函数提供任何值。
例如:- 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 niubenint 1122float64 11.22
复制代码 总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持晓枫资讯。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |