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语言sync.Map详解及使用场景

    Go语言sync.Map详解及使用场景

    Go语言中的sync.Map是一个高效的并发安全映射结构,适用于高并发读多写少的场景,它通过读写分离、无锁读取路径、写入时的锁保护等机制,提高了读取性能并减少了锁竞争,sync.Map不需要手动管理锁,降低了编程复杂性,适合需要简单并发访问的场合
    2024-10-10
  • go语言实现LRU缓存的示例代码

    go语言实现LRU缓存的示例代码

    LRU是一种常见的缓存淘汰策略,用于管理缓存中的数据,本文主要介绍了go语言实现LRU缓存的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Golang 类型转换的实现(断言、强制、显式类型)

    Golang 类型转换的实现(断言、强制、显式类型)

    将一个值从一种类型转换到另一种类型,便发生了类型转换,在go可以分为断言、强制、显式类型转换,本文就详细的介绍一下这就几种转换方式,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 读取Go项目中的配置文件的方法

    读取Go项目中的配置文件的方法

    本文主要介绍了读取Go项目中的配置文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Go结构体指针引发的值传递思考分析

    Go结构体指针引发的值传递思考分析

    这篇文章主要为大家介绍了Go结构体指针引发的值传递思考分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Go语言常见错误接口污染解决分析

    Go语言常见错误接口污染解决分析

    这篇文章主要为大家介绍了Go语言常见错误接口污染解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Go结合MQTT实现通信的示例代码

    Go结合MQTT实现通信的示例代码

    本文主要介绍了Go结合MQTT实现通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Go语言中OCR常用识别库的使用与实战指南

    Go语言中OCR常用识别库的使用与实战指南

    Go 生态里没有像 Python 那样大量直接内置 OCR 模型的库,但可以通过调用成熟 OCR 引擎(Tesseract)、用 OpenCV 做预处理、或接入云 OCR 服务来构建稳定的 OCR 流水线,本文把常见方案、优缺点、实战代码与工程级建议都列出来,需要的可以了解下
    2025-11-11
  • Go语言学习之指针的用法详解

    Go语言学习之指针的用法详解

    这篇文章主要为大家详细介绍了Go语言中指针的用法,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以参考一下
    2022-04-04
  • 详解Golang 中的并发限制与超时控制

    详解Golang 中的并发限制与超时控制

    这篇文章主要介绍了详解Golang 中的并发限制与超时控制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论