当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO ParseInt用法及代码示例


GO语言"strconv"包中"ParseInt"函数的用法及代码示例。

用法:

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

ParseInt 以给定的基数(0、2 到 36)和位大小(0 到 64)解释字符串 s,并返回相应的值 i。

字符串可能以前导符号开头:"+" 或 "-"。

如果 base 参数为 0,则真正的基数由符号后面的字符串前缀(如果存在)暗示:2 表示 "0b",8 表示 "0" 或 "0o",16 表示 "0x",否则为 10。此外,仅对于以 0 为基数的参数,允许使用 Go 语法为整数文字定义的下划线字符。

bitSize 参数指定结果必须适合的整数类型。位大小 0、8、16、32 和 64 对应于 int int8、int16、int32 和 int64。如果 bitSize 小于 0 或大于 64,则返回错误。

ParseInt 返回的错误具有具体类型 *NumError 并包括 err.Num = s。如果s为空或包含无效数字,err.Err = ErrSyntax,返回值为0;如果 s 对应的值不能用给定大小的有符号整数表示,则 err.Err = ErrRange 并且返回值是相应 bitSize 和符号的最大幅度整数。

例子:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	v32 := "-354634382"
	if s, err := strconv.ParseInt(v32, 10, 32); err == nil {
		fmt.Printf("%T, %v\n", s, s)
	}
	if s, err := strconv.ParseInt(v32, 16, 32); err == nil {
		fmt.Printf("%T, %v\n", s, s)
	}

	v64 := "-3546343826724305832"
	if s, err := strconv.ParseInt(v64, 10, 64); err == nil {
		fmt.Printf("%T, %v\n", s, s)
	}
	if s, err := strconv.ParseInt(v64, 16, 64); err == nil {
		fmt.Printf("%T, %v\n", s, s)
	}

}

输出:

int64, -354634382
int64, -3546343826724305832

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 ParseInt。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。