Gói strconv
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseInt diễn giải một chuỗi s trong cơ sở đã cho (2 đến 36) và trả về giá trị i tương ứng. Nếu cơ số == 0, cơ số được ngụ ý bởi tiền tố của chuỗi: cơ số 16 cho "0x", cơ sở 8 cho "0" và cơ sở 10 nếu không.
Đối số bitSize chỉ định kiểu số nguyên mà kết quả phải khớp vào. Kích thước bit 0, 8, 16, 32 và 64 tương ứng với int, int8, int16, int32 và int64.
Các lỗi mà ParseInt trả về có kiểu cụ thể là * NumError và bao gồm cả lỗi. Num = s. Nếu s trống hoặc chứa các chữ số không hợp lệ, err.Err = ErrSyntax; nếu giá trị tương ứng với s không thể được biểu diễn bằng số nguyên có dấu có kích thước đã cho, thì err.Err = ErrRange.
ParseInt
luôn trả về một int64
giá trị. Tùy thuộc vào bitSize
, giá trị này sẽ phù hợp với int
, int8
, int16
, int32
, hoặc int64
. Nếu giá trị không thể được biểu diễn bằng một số nguyên có dấu có kích thước được cho bởi bitSize
thì err.Err = ErrRange
.
Đặc tả ngôn ngữ lập trình Go
Loại số
Giá trị của một số nguyên n bit rộng n bit và được biểu diễn bằng số học phần bù của hai.
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)
Ngoài ra còn có một tập hợp các kiểu số được khai báo trước với các kích thước dành riêng cho việc triển khai:
uint either 32 or 64 bits
int same size as uint
int
là 32 hoặc 64 bit, tùy thuộc vào việc triển khai. Thông thường nó là 32 bit cho trình biên dịch 32 bit và 64 bit cho trình biên dịch 64 bit.
Để tìm ra kích thước của một int
hoặc uint
, hãy sử dụng strconv.IntSize
.
Gói strconv
Hằng số
const IntSize = intSize
IntSize
là kích thước tính bằng bit của một int
hoặc uint
giá trị.
Ví dụ,
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS)
fmt.Println(strconv.IntSize)
}
Đầu ra:
gc amd64 linux
64