📜  golang strconv atoi int64 (1)

📅  最后修改于: 2023-12-03 15:01:01.303000             🧑  作者: Mango

Golang strconv 包中的 Atoi 与 ParseInt 函数

在 Golang 中,strconv 包提供了实现字符串和基本类型 (如整型和浮点型) 之间相互转换的功能。其中,Atoi 和 ParseInt 函数常用于将字符串类型的数字转换为整型。

Atoi 函数

Atoi 函数用于将字符串类型的数字转换为整型。它有以下语法:

func Atoi(s string) (int, error)

其中,s 表示待转换的字符串。函数返回转换后的整数值以及可能产生的错误。

使用 Atoi 函数的示例代码如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	s := "123"
	i, err := strconv.Atoi(s)
	if err != nil {
		fmt.Println("转换失败!")
		return
	}
	fmt.Printf("字符串 %s 转换为整数值为:%d\n", s, i)
}

上述代码输出结果为:

字符串 123 转换为整数值为:123

使用 Atoi 函数需要注意以下几点:

  1. Atoi 函数只能将合法的十进制字符串转换为整数值。如果字符串不是合法的十进制字符串,函数将返回一个错误。
  2. 如果待转换的字符串为空字符串,则函数将返回 0。
  3. 如果字符串转换后的数字值超出了整型的取值范围,则函数将返回一个错误。
ParseInt 函数

ParseInt 函数用于将字符串类型的数字转换为指定进制下的整数。它有以下语法:

func ParseInt(s string, base int, bitSize int) (int64, error)

其中,s 表示待转换的字符串;base 表示待转换的字符串所代表数字的进制数,取值范围为 2 到 36;bitSize 表示目标整数值的位数,取值范围为 0、8、16、32 或 64。函数返回转换后的整数值以及可能产生的错误。

使用 ParseInt 函数的示例代码如下:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	s := "101"
	i, err := strconv.ParseInt(s, 2, 64)
	if err != nil {
		fmt.Println("转换失败!")
		return
	}
	fmt.Printf("字符串 %s 转换为整数值为:%d\n", s, i)
}

上述代码输出结果为:

字符串 101 转换为整数值为:5

使用 ParseInt 函数需要注意以下几点:

  1. ParseInt 函数只能将合法的字符串转换为整数值。如果字符串不是合法的数字字符串,函数将返回一个错误。
  2. 如果待转换的字符串为空字符串,则函数将返回 0。
  3. 如果字符串转换后的数字值超出了目标整数类型的取值范围,则函数将返回一个错误。
总结

本文介绍了 Golang strconv 包中的 Atoi 和 ParseInt 函数。这两个函数都可以用于将字符串类型的数字转换为整型,但 Atoi 函数只能转换为十进制下的整数,而 ParseInt 函数则可以转换为指定进制下的整数。在使用这两个函数时,需要特别注意待转换的字符串是否合法。