แพ็คเกจ strconv
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseInt ตีความสตริง s ในฐานที่กำหนด (2 ถึง 36) และส่งกลับค่าที่สอดคล้องกัน i ถ้าฐาน == 0 ฐานจะแสดงนัยโดยคำนำหน้าของสตริง: ฐาน 16 สำหรับ "0x", ฐาน 8 สำหรับ "0" และฐาน 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
หรือใช้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