软件包strconv
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseInt解释给定基数(2到36)中的字符串s并返回对应的值i。如果base == 0,则字符串的前缀隐含基数:“ 0x”的基数为16,“ 0”的基数为8,否则为10。
bitSize参数指定结果必须适合的整数类型。位大小0、8、16、32和64分别对应于int,int8,int16,int32和int64。
ParseInt返回的错误的具体类型为* NumError,其中包括err.Num = s。如果s为空或包含无效数字,则err.Err = ErrSyntax; 如果与s对应的值不能用给定大小的有符号整数表示,则err.Err = ErrRange。
ParseInt
总是返回一个int64
值。根据bitSize
,该值将适用于int
,int8
,int16
,int32
,或int64
。如果该值不能由给出的大小的有符号整数表示bitSize
,则err.Err = ErrRange
。
Go编程语言规范
数值类型
一个n位整数的值是n位宽,并使用二进制补码算术表示。
int8 the set of all signed 8-bit integers (-128 to 127)
int16 the set of all signed 16-bit integers (-32768 to 32767)
int32 the set of all signed 32-bit integers (-2147483648 to 2147483647)
int64 the set of all signed 64-bit integers (-9223372036854775808 to 9223372036854775807)
还有一组预先声明的数字类型,具有特定于实现的大小:
uint either 32 or 64 bits
int same size as uint
int
是32位还是64位,具体取决于实现方式。对于32位编译器,通常为32位;对于64位编译器,通常为64位。
要找出int
or的大小uint
,请使用strconv.IntSize
。
软件包strconv
常数
const IntSize = intSize
IntSize
是int
或uint
值的大小(以位为单位)。
例如,
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS)
fmt.Println(strconv.IntSize)
}
输出:
gc amd64 linux
64