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.
ParseIntgibt immer einen int64Wert zurück. Je nach bitSizewird 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
intbeträ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 intoder herauszufinden uint, verwenden Sie strconv.IntSize.
Paket strconv
Konstanten
const IntSize = intSize
IntSizeist die Größe in Bits eines intoder uintWertes.
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