Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Formateo de Cadenas | Tipos de Datos
Introducción a Golang

bookFormateo de Cadenas

Ahora que ya conocemos todos los tipos de datos básicos, podemos explorar el formateo de cadenas. En programación, el formateo de cadenas consiste en incorporar valores variables a las cadenas.

Nota

La sentencia import se utiliza para importar paquetes en una aplicación Go. Un paquete es una colección de archivos fuente Go relacionados que colaboran para ofrecer un conjunto de funcionalidades o servicios. El paquete fmt proporciona funciones que nos permiten formatear cadenas.

Una de las funciones del paquete fmt que hemos estado utilizando es la función Println. La función Println muestra el texto de salida en una nueva línea cada vez. Sin embargo, existe una función llamada Print que muestra la salida sin moverse a una nueva línea:

index.go

index.go

copy
12345678
package main import "fmt" func main() { fmt.Print("1") fmt.Print(" 2") fmt.Print(" 3") }

En general, podemos utilizar estas funciones para insertar valores variables dentro de datos de cadena utilizando el siguiente método:

index.go

index.go

copy
123456789
package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Println("There are", n, "cats,", in, "of them are inside the house while", out, "are outside.") }

Sin embargo, este método no es muy eficiente porque tenemos que dividir la cadena en muchos segmentos para insertar variables en los lugares pertinentes, lo que puede resultar engorroso en los casos más complejos. La función Printf resuelve este problema y simplifica el proceso de mostrar una salida formateada.

La función Printf toma como primer argumento una cadena de formato, seguida de los valores (o variables) que deben insertarse en la cadena de formato. Una cadena de formato contiene marcadores de posición (especificadores de formato) que definen el formato de salida deseado.

He aquí un ejemplo:

index.go

index.go

copy
12345678910
package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Printf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) }

Como se ilustra en el ejemplo, los especificadores de formato son símbolos que sirven como marcadores de posición para tipos de datos específicos dentro de una cadena. Existe un especificador de formato distinto para cada tipo de datos. La tabla siguiente ofrece una lista de los especificadores de formato básicos:

|**Especificador de formato Tipo de datos |--|--| |Entero |%s Cadena |%f Flotante |Booleano |Carácter (o runa)

Las variables sustituyen a los respectivos marcadores de posición en la cadena de formato. En la salida del ejemplo anterior, el primer %d se sustituye por el valor de n. Del mismo modo, el segundo se sustituye por la variable correspondiente, que es in, y el último %d se sustituye por el valor de out.

También podemos formatear una cadena y almacenarla dentro de una variable de cadena utilizando la función Sprintf, que formatea una cadena y devuelve la cadena resultante para almacenarla o utilizarla en otro lugar, en lugar de mostrarla inmediatamente en la pantalla:

index.go

index.go

copy
123456789101112
package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in var text string = fmt.Sprintf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) fmt.Println("Text:", text) }

He aquí un ejemplo más complejo que incorpora múltiples conceptos que hemos cubierto previamente en un solo programa. Será un ejercicio valioso revisar el siguiente programa y su salida para mejorar tus habilidades de lectura de código:

index.go

index.go

copy
12345678910
package main import "fmt" func main() { var numA float32 = 17.7 var numB int = 10 var str string = fmt.Sprintf("It is %t that 'a' is bigger than 'b'.", numA > float32(numB)) fmt.Printf("The numbers 'a' and 'b' are %f and %d. %s", numA, numB, str) }

En algunos casos, el compilador realiza una conversión de tipos implícita para hacer coincidir valores con especificadores de formato, como se muestra en el siguiente ejemplo:

index.go

index.go

copy
1234567
package main import "fmt" func main() { var char rune = 'A' fmt.Printf("The Unicode decimal value of %c is %d", char, char) }

La runa 'char' se muestra como un carácter y como un valor numérico. Sin embargo, en algunos casos, el compilador puede producir un error. Por ejemplo, el siguiente código producirá una salida no válida porque un 'float' no puede convertirse implícitamente en un 'int':

index.go

index.go

copy
12
var value float32 = 5.7 fmt.Printf("%d", value)
question mark

¿Cuál será la salida del siguiente programa?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 1.96

bookFormateo de Cadenas

Desliza para mostrar el menú

Ahora que ya conocemos todos los tipos de datos básicos, podemos explorar el formateo de cadenas. En programación, el formateo de cadenas consiste en incorporar valores variables a las cadenas.

Nota

La sentencia import se utiliza para importar paquetes en una aplicación Go. Un paquete es una colección de archivos fuente Go relacionados que colaboran para ofrecer un conjunto de funcionalidades o servicios. El paquete fmt proporciona funciones que nos permiten formatear cadenas.

Una de las funciones del paquete fmt que hemos estado utilizando es la función Println. La función Println muestra el texto de salida en una nueva línea cada vez. Sin embargo, existe una función llamada Print que muestra la salida sin moverse a una nueva línea:

index.go

index.go

copy
12345678
package main import "fmt" func main() { fmt.Print("1") fmt.Print(" 2") fmt.Print(" 3") }

En general, podemos utilizar estas funciones para insertar valores variables dentro de datos de cadena utilizando el siguiente método:

index.go

index.go

copy
123456789
package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Println("There are", n, "cats,", in, "of them are inside the house while", out, "are outside.") }

Sin embargo, este método no es muy eficiente porque tenemos que dividir la cadena en muchos segmentos para insertar variables en los lugares pertinentes, lo que puede resultar engorroso en los casos más complejos. La función Printf resuelve este problema y simplifica el proceso de mostrar una salida formateada.

La función Printf toma como primer argumento una cadena de formato, seguida de los valores (o variables) que deben insertarse en la cadena de formato. Una cadena de formato contiene marcadores de posición (especificadores de formato) que definen el formato de salida deseado.

He aquí un ejemplo:

index.go

index.go

copy
12345678910
package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in fmt.Printf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) }

Como se ilustra en el ejemplo, los especificadores de formato son símbolos que sirven como marcadores de posición para tipos de datos específicos dentro de una cadena. Existe un especificador de formato distinto para cada tipo de datos. La tabla siguiente ofrece una lista de los especificadores de formato básicos:

|**Especificador de formato Tipo de datos |--|--| |Entero |%s Cadena |%f Flotante |Booleano |Carácter (o runa)

Las variables sustituyen a los respectivos marcadores de posición en la cadena de formato. En la salida del ejemplo anterior, el primer %d se sustituye por el valor de n. Del mismo modo, el segundo se sustituye por la variable correspondiente, que es in, y el último %d se sustituye por el valor de out.

También podemos formatear una cadena y almacenarla dentro de una variable de cadena utilizando la función Sprintf, que formatea una cadena y devuelve la cadena resultante para almacenarla o utilizarla en otro lugar, en lugar de mostrarla inmediatamente en la pantalla:

index.go

index.go

copy
123456789101112
package main import "fmt" func main() { var n int = 5 var in int = n / 2 var out int = n - in var text string = fmt.Sprintf("There are %d cats, %d of them are inside the house with %d of them are outside. ", n, in, out) fmt.Println("Text:", text) }

He aquí un ejemplo más complejo que incorpora múltiples conceptos que hemos cubierto previamente en un solo programa. Será un ejercicio valioso revisar el siguiente programa y su salida para mejorar tus habilidades de lectura de código:

index.go

index.go

copy
12345678910
package main import "fmt" func main() { var numA float32 = 17.7 var numB int = 10 var str string = fmt.Sprintf("It is %t that 'a' is bigger than 'b'.", numA > float32(numB)) fmt.Printf("The numbers 'a' and 'b' are %f and %d. %s", numA, numB, str) }

En algunos casos, el compilador realiza una conversión de tipos implícita para hacer coincidir valores con especificadores de formato, como se muestra en el siguiente ejemplo:

index.go

index.go

copy
1234567
package main import "fmt" func main() { var char rune = 'A' fmt.Printf("The Unicode decimal value of %c is %d", char, char) }

La runa 'char' se muestra como un carácter y como un valor numérico. Sin embargo, en algunos casos, el compilador puede producir un error. Por ejemplo, el siguiente código producirá una salida no válida porque un 'float' no puede convertirse implícitamente en un 'int':

index.go

index.go

copy
12
var value float32 = 5.7 fmt.Printf("%d", value)
question mark

¿Cuál será la salida del siguiente programa?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
some-alt