当前位置: 代码网 > it编程>前端脚本>Golang > go string to int 字符串与整数型的互换方式

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

2024年09月06日 Golang 我要评论
go string to int 字符串与整数型的互换package main import ("fmt""strconv") func main() {// 把字符串转换为数字str := "100

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com