當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。