Analizar números en Go

GolangGolangBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

El propósito de este laboratorio es demostrar cómo analizar números a partir de cadenas en Go.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/AdvancedTopicsGroup(["Advanced Topics"]) go/AdvancedTopicsGroup -.-> go/number_parsing("Number Parsing") subgraph Lab Skills go/number_parsing -.-> lab-15492{{"Analizar números en Go"}} end

Análisis de números

El análisis de números a partir de cadenas es una tarea común en muchos programas. En este laboratorio se te pide que uses el paquete integrado strconv para analizar diferentes tipos de números a partir de cadenas.

  • Utiliza el paquete strconv para analizar números a partir de cadenas.
  • Analiza un número de punto flotante con ParseFloat.
  • Analiza un entero con ParseInt.
  • Analiza un número con formato hexadecimal con ParseInt.
  • Analiza un entero sin signo con ParseUint.
  • Analiza un entero en base 10 con Atoi.
  • Maneja los errores devueltos por las funciones de análisis.
$ go run number-parsing.go
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax

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

A continuación está el código completo:

// El análisis de números a partir de cadenas es una tarea básica pero común
// en muchos programas; aquí está 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 se deben 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 con formato hexadecimal.
	d, _ := strconv.ParseInt("0x1c8", 0, 64)
	fmt.Println(d)

	// También está disponible `ParseUint`.
	u, _ := strconv.ParseUint("789", 0, 64)
	fmt.Println(u)

	// `Atoi` es una función de conveniencia para el análisis básico de enteros en base 10.
	k, _ := strconv.Atoi("135")
	fmt.Println(k)

	// Las funciones de análisis devuelven un error en caso de entrada incorrecta.
	_, e := strconv.Atoi("wat")
	fmt.Println(e)
}

Resumen

Este laboratorio demostró cómo analizar diferentes tipos de números a partir de cadenas en Go utilizando el paquete strconv. Al completar este laboratorio, deberías tener una mejor comprensión de cómo manejar el análisis de números en tus programas de Go.