Hoy te mostraré algo muy sencillo en Go: cómo agregar ceros a la izquierda de un número. En este caso te enseñaré a agregar un cero a la izquierda solo si el número tiene un dígito, en caso de que no, no se agrega.
En otras palabras, agregar un 0 si el número es menor a 10. Aunque no solo funcionará con números de 2 dígitos, funcionará con cualquier cantidad de dígitos para rellenarlos con 0 o ceros.
Rellenar con ceros en go
Para hacer esto podemos usar los formatos de cadena que están en fmt, específicamente con fmt.Printf
y fmt.Sprintf
.
Por si no lo recuerdas, fmt.Printf
imprime directamente la cadena con formato, y fmt.Sprintf
devuelve la cadena formateada.
Pero bueno, el formato es:
%02d
En donde el 2
es la cantidad de dígitos que quieres, y si el número no tiene esa cantidad de dígitos entonces se le va a agregar lo faltante en ceros.
Función para agregar cero a la izquierda
Ahora veamos la función que he creado. En este caso agregará el cero si el número es menor que 10.
func agregarCeroSiEsNecesario(valor int) string {
return fmt.Sprintf("%02d", valor)
}
Por poner otro ejemplo, si quieres que agregue los ceros suficientes para rellenar al menos 3 dígitos harías esto:
func agregarCeroSiEsNecesario(valor int) string {
return fmt.Sprintf("%03d", valor)
}
Y en ese caso, por ejemplo, el 9
se convierte en 009
, el 10
en 010
y el 100
se queda intacto. A partir de este ejemplo ya puedes saber cómo agregar ceros a la izquierda con Go, sin importar la cantidad de dígitos.
Poniendo todo junto
El código completo junto con algunas llamadas a la función queda así:
package main
import "fmt"
func agregarCeroSiEsNecesario(valor int) string {
return fmt.Sprintf("%02d", valor)
}
func main() {
fmt.Println(agregarCeroSiEsNecesario(9))
fmt.Println(agregarCeroSiEsNecesario(10))
fmt.Println(agregarCeroSiEsNecesario(100))
}
Por acá te dejo más posts sobre Go.