Paket strconv
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseInt interpretiert einen String s in der angegebenen Basis (2 bis 36) und gibt den entsprechenden Wert i zurück. Wenn base == 0 ist, wird die Base durch das Präfix der Zeichenfolge impliziert: base 16 für "0x", base 8 für "0" und andernfalls base 10.
Das Argument bitSize gibt den Integer-Typ an, in den das Ergebnis passen muss. Die Bitgrößen 0, 8, 16, 32 und 64 entsprechen int, int8, int16, int32 und int64.
Die von ParseInt zurückgegebenen Fehler haben den konkreten Typ * NumError und enthalten err.Num = s. Wenn s leer ist oder ungültige Ziffern enthält, ist err.Err = ErrSyntax; Wenn der Wert, der s entspricht, nicht durch eine vorzeichenbehaftete Ganzzahl der angegebenen Größe dargestellt werden kann, ist err.Err = ErrRange.
ParseInt
gibt immer einen int64
Wert zurück. Je nach bitSize
wird dieser Wert paßt in int
, int8
, int16
, int32
, oder int64
. Wenn der Wert nicht durch eine vorzeichenbehaftete Ganzzahl der angegebenen Größe dargestellt werden kann bitSize
, dann err.Err = ErrRange
.
Die Go-Programmiersprachenspezifikation
Numerische Typen
Der Wert einer n-Bit-Ganzzahl ist n Bit breit und wird unter Verwendung der Zweierkomplementarithmetik dargestellt.
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)
Es gibt auch eine Reihe von vorab deklarierten numerischen Typen mit implementierungsspezifischen Größen:
uint either 32 or 64 bits
int same size as uint
int
beträgt je nach Implementierung entweder 32 oder 64 Bit. Normalerweise sind es 32 Bit für 32-Bit-Compiler und 64 Bit für 64-Bit-Compiler.
Um die Größe eines int
oder herauszufinden uint
, verwenden Sie strconv.IntSize
.
Paket strconv
Konstanten
const IntSize = intSize
IntSize
ist die Größe in Bits eines int
oder uint
Wertes.
Zum Beispiel,
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS)
fmt.Println(strconv.IntSize)
}
Ausgabe:
gc amd64 linux
64