【Go】strconv 包简介与 Atoi 函数

时间:2025-03-30 07:13:31

文章目录

  • 一、前言
  • 二、strconv 包简介
  • 三、string 转换为 int:Atoi()函数
  • 参考链接


一、前言

在 Golang 中,不是所有数据类型之间都能相互转换的,例如字母格式的 string 类型 “abcd” 转换为 int 肯定会失败。要跨大类型转换,可以使用 strconv 包提供的函数。

strconv 包实现了字符串与数字(整数、浮点数等)之间的互相转换。

Go语言的 strconv 包提供了一个Atoi()函数,该函数等效于ParseInt(str string,base int,bitSize int)用于将字符串类型转换为int类型。要访问Atoi()函数,您需要在程序中导入 strconv 软件包。


二、strconv 包简介

strconv 包提供了字符串与简单数据类型之间的类型转换功能。可以将简单类型转换为字符串,也可以将字符串转换为其它简单类型。

这个包里提供了很多函数,大概分为几类:

  • 字符串转int:Atoi()
  • int转字符串:Itoa()
  • ParseTP类函数将string转换为TP类型:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。因为string转其它类型可能会失败,所以这些函数都有第二个返回值表示是否转换成功
  • FormatTP类函数将其它类型转string:FormatBool()、FormatFloat()、FormatInt()、FormatUint()
  • AppendTP类函数用于将TP转换成字符串后 append 到一个 slice 中:AppendBool()、AppendFloat()、AppendInt()、AppendUint()

三、string 转换为 int:Atoi()函数

func Atoi(s string) (int, error)

由于 string 可能无法转换为int,所以这个函数有两个返回值:

  • 第一个返回值是转换成 int 的值
  • 第二个返回值判断是否转换成功
// Atoi(): string -> int
i,_ := strconv.Atoi("3")
println(3 + i)   // 6

// Atoi()转换失败
i,err := strconv.Atoi("a")
if err != nil {
    println("converted failed")
}

参考链接

  1. Golang ()用法及代码示例