Pacchetto strconv
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseInt interpreta una stringa s nella base data (da 2 a 36) e restituisce il valore corrispondente i. Se base == 0, la base è implicita nel prefisso della stringa: base 16 per "0x", base 8 per "0" e base 10 altrimenti.
L'argomento bitSize specifica il tipo intero in cui deve rientrare il risultato. Le dimensioni dei bit 0, 8, 16, 32 e 64 corrispondono a int, int8, int16, int32 e int64.
Gli errori restituiti da ParseInt hanno un tipo concreto * NumError e includono err.Num = s. Se s è vuoto o contiene cifre non valide, err.Err = ErrSyntax; se il valore corrispondente a s non può essere rappresentato da un intero con segno della dimensione data, err.Err = ErrRange.
ParseIntrestituisce sempre un int64valore. A seconda bitSize, questo valore si inserisce in int, int8, int16, int32, o int64. Se il valore non può essere rappresentato da un numero intero con segno della dimensione data da bitSize, allora err.Err = ErrRange.
La specifica del linguaggio di programmazione Go
Tipi numerici
Il valore di un intero a n bit è largo n bit e rappresentato utilizzando l'aritmetica del complemento a due.
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)
Esiste anche un set di tipi numerici predichiarati con dimensioni specifiche dell'implementazione:
uint either 32 or 64 bits
int same size as uint
intè di 32 o 64 bit, a seconda dell'implementazione. Di solito sono 32 bit per i compilatori a 32 bit e 64 bit per i compilatori a 64 bit.
Per scoprire la dimensione di un intor uint, usa strconv.IntSize.
Pacchetto strconv
Costanti
const IntSize = intSize
IntSizeè la dimensione in bit di un valore into uint.
Per esempio,
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS)
fmt.Println(strconv.IntSize)
}
Produzione:
gc amd64 linux
64