Golang中int类型和字符串类型相互转换的实现方法

 更新时间:2023年09月20日 10:28:18   作者:路多辛  
在日常开发中,经常需要将数字转换为字符串或者将字符串转换为数字,在 Golang 中,有一些很简便的方法可以实现这个功能,接下来就详细讲解一下如何实现 int 类型和字符串类型之间的互相转换,需要的朋友可以参考下

使用 strconv 包

strconv 包提供的 Itoa 和 Atoi 函数可以用于 int 类型和字符串类型之间的相互转换。

1. int 转字符串

package main
import (
	"fmt"
	"strconv"
)
func main() {
	num := 123
	str := strconv.Itoa(num)
	fmt.Println(str) // 输出:"123"
}

使用 Itoa 函数将 int 类型转换为字符串类型,Itoa 函数的使用方法非常简单,只需将要转换的 int 值传入该函数,返回转换后的字符串。

2. 字符串转 int

package main
import (
	"fmt"
	"strconv"
)
func main() {
	str := "456"
	num, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("转换失败:", err)
	} else {
		fmt.Println(num) // 输出:456
	}
}

使用 Atoi 函数将字符串类型转换为 int 类型,只需要将字符串传入该函数即可,返回转换后的 int 值和可能出现的错误信息。

使用 fmt 包

fmt 包也提供了一些函数可以完成 int 类型和字符串类型之间的转换。

1. int 转字符串

package main
import (
	"fmt"
)
func main() {
	num := 123
	str := fmt.Sprintf("%d", num)
	fmt.Println(str) // 输出:"123"
}

使用 fmt 包中的 Sprintf 函数可以返回格式化后的字符串,传入一个占位符"%d"和要转换的 int 值给该函数即可。

2. 字符串转 int

package main
import (
	"fmt"
)
func main() {
	str := "456"
	var num int
	_, err := fmt.Sscanf(str, "%d", &num)
	if err != nil {
		fmt.Println("转换失败:", err)
	} else {
		fmt.Println(num) // 输出:456
	}
}

使用 fmt包中的 Sscanf 函数可以根据指定的格式将字符串解析为 int 值。传入要解析的字符串、占位符"%d"和一个指向 int 变量的指针给该函数即可,将从字符串中解析出相应的 int 值并赋给指定的变量。

使用 github.com/spf13/cast 库

cast 库是用于不同类型之间进行转换的库,功能非常强大,自然也包括 int 类型和字符串类型之间的互相转换功能。

1. int 转字符串

package main
import (
	"fmt"
	"github.com/spf13/cast"
)
func main() {
	num := 123
	str := cast.ToString(num)
	fmt.Println(str) // 输出:"123"
}

使用 ToString 函数可以将其他类型转换为字符串类型,只需传入待转换的值即可。

2. 字符串转 int

package main
import (
	"fmt"
	"github.com/spf13/cast"
)
func main() {
	str := "456"
	num := cast.ToInt(str) // 输出:456
	fmt.Println(num)
}

使用 ToInt 函数可以将其他类型转换为 int 类型,只需传入待转换的值即可。

package main
import (
	"fmt"
	"github.com/spf13/cast"
)
func main() {
	str := "路多辛的博客"
	num := cast.ToInt(str) // // 输出:0
	fmt.Println(num)
}

小结

本文详细介绍了 Golang 中实现 int 类型和字符串类型相互转换的几种方法,希望这些方法能够让你在使用 Golang 时更加得心应手。

以上就是Golang中int类型和字符串类型相互转换的实现方法的详细内容,更多关于Golang int类型和字符串类型相互转换的资料请关注脚本之家其它相关文章!

相关文章

  • Go处理PDF的实现代码

    Go处理PDF的实现代码

    这篇文章主要介绍了Go处理PDF的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Go计算某段代码运行所耗时间简单实例

    Go计算某段代码运行所耗时间简单实例

    这篇文章主要给大家介绍了关于Go计算某段代码运行所耗时间的相关资料,主要介绍了Golang记录计算函数执行耗时、运行时间的一个简单方法,文中给出了详细的代码示例,需要的朋友可以参考下
    2023-11-11
  • Golang如何构造最佳随机密码详解

    Golang如何构造最佳随机密码详解

    人们往往有使用同一密码的习惯,为了防止数据库意外泄露/破坏和出于保护用户隐私的目的,下面这篇文章主要给大家介绍了关于Golang如何构造最佳随机密码的相关资料,需要的朋友可以参考下
    2023-01-01
  • 手把手带你走进Go语言之类型转换

    手把手带你走进Go语言之类型转换

    每个函数都可以强制将一个表达式转换成某种特定数据类型,本文给大家介绍了在Go语言中类型转换的具体用法,讲述的非常详细,对大家的学习或工作具有一定的参考借鉴价值
    2021-09-09
  • go mod文件内容版本号简单用法详解

    go mod文件内容版本号简单用法详解

    这篇文章主要为大家介绍了go mod文件内容版本号简单用法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Go中并发控制的实现方式总结

    Go中并发控制的实现方式总结

    在Go实际开发中,并发安全是老生常谈的事情,在并发下,goroutine之间的存在数据资源等方面的竞争,为了保证数据一致性、防止死锁等问题的出现,在并发中需要使用一些方式来实现并发控制,本文给大家总结了几种实现方式,需要的朋友可以参考下
    2023-12-12
  • 一文带你了解Go中的内存对齐

    一文带你了解Go中的内存对齐

    一旦涉及到较为底层的编程,特别是与硬件交互,内存对齐是一个必修的课题,所以这篇文章小编就想来和大家聊一聊Go语言中的内存对齐,希望对大家有所帮助
    2023-10-10
  • golang cache带索引超时缓存库实战示例

    golang cache带索引超时缓存库实战示例

    这篇文章主要为大家介绍了golang cache带索引超时缓存库实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Golang图片验证码的使用方法

    Golang图片验证码的使用方法

    最近在使用到Golang进行原生开发,注册和登录页面都涉及到图片验证码的功能,支持很多类型的验证方式,例如支持数字类型、字母类型、音频验证码、中文验证码,本文给大家介绍Golang图片验证码的使用,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • go语言LeetCode题解999可以被一步捕获的棋子数

    go语言LeetCode题解999可以被一步捕获的棋子数

    这篇文章主要为大家介绍了go语言LeetCode题解999可以被一步捕获的棋子数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12

最新评论