Paquete strconv
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
ParseInt interpreta una cadena s en la base dada (2 a 36) y devuelve el valor correspondiente i. Si base == 0, la base está implícita en el prefijo de la cadena: base 16 para "0x", base 8 para "0" y base 10 en caso contrario.
El argumento bitSize especifica el tipo de entero en el que debe encajar el resultado. Los tamaños de bit 0, 8, 16, 32 y 64 corresponden a int, int8, int16, int32 e int64.
Los errores que devuelve ParseInt tienen un tipo concreto * NumError e incluyen err.Num = s. Si s está vacío o contiene dígitos no válidos, err.Err = ErrSyntax; si el valor correspondiente as no puede ser representado por un entero con signo del tamaño dado, err.Err = ErrRange.
ParseInt
siempre devuelve un int64
valor. En función de bitSize
este valor se ajusta a int
, int8
, int16
, int32
, o int64
. Si el valor no puede ser representado por un entero con signo del tamaño dado por bitSize
, entonces err.Err = ErrRange
.
La especificación del lenguaje de programación Go
Tipos numéricos
El valor de un entero de n bits tiene un ancho de n bits y se representa mediante aritmética en complemento a dos.
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)
También hay un conjunto de tipos numéricos predeclarados con tamaños específicos de implementación:
uint either 32 or 64 bits
int same size as uint
int
es de 32 o 64 bits, según la implementación. Por lo general, es de 32 bits para compiladores de 32 bits y de 64 bits para compiladores de 64 bits.
Para averiguar el tamaño de un int
o uint
, utilice strconv.IntSize
.
Paquete strconv
Constantes
const IntSize = intSize
IntSize
es el tamaño en bits de un valor int
o uint
.
Por ejemplo,
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
fmt.Println(runtime.Compiler, runtime.GOARCH, runtime.GOOS)
fmt.Println(strconv.IntSize)
}
Salida:
gc amd64 linux
64