Go by Example: Number Parsing

Analizar números a partir de cadenas es una tarea básica pero común en muchos programas; aquí te mostramos cómo hacerlo en Go.

package main

El paquete integrado strconv proporciona el análisis de números.

import (
    "fmt"
    "strconv"
)
func main() {

Con ParseFloat, este 64 indica cuántos bits de precisión analizar.

    f, _ := strconv.ParseFloat("1.234", 64)
    fmt.Println(f)

Para ParseInt, el 0 significa inferir la base a partir de la cadena. 64 requiere que el resultado quepa en 64 bits.

    i, _ := strconv.ParseInt("123", 0, 64)
    fmt.Println(i)

ParseInt reconocerá números en formato hexadecimal.

    d, _ := strconv.ParseInt("0x1c8", 0, 64)
    fmt.Println(d)

También está disponible un ParseUint.

    u, _ := strconv.ParseUint("789", 0, 64)
    fmt.Println(u)

Atoi es una función de conveniencia para el análisis básico de int en base-10.

    k, _ := strconv.Atoi("135")
    fmt.Println(k)

Las funciones de análisis devuelven un error en entradas incorrectas.

    _, e := strconv.Atoi("wat")
    fmt.Println(e)
}
$ go run number-parsing.go 
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax

A continuación, veremos otra tarea común de análisis: URLs.

Siguiente ejemplo: URL Parsing.