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

bookConversión Básica de Tipos

La conversión de tipos es el proceso de convertir datos de un tipo de dato a otro. Sin embargo, es importante señalar que no siempre es posible convertir datos de un tipo de dato a otro. Por ejemplo, podemos convertir un float a un int y viceversa. Sin embargo, no tendría sentido convertir un string a un int, por lo que no es posible.

Existen dos tipos de conversiones de tipo o conversiones de tipos. Una de ellas es la conversión de tipo implícita. La conversión de tipo implícita ocurre cuando Go convierte automáticamente un tipo a otro cuando es seguro y no ambiguo. Por ejemplo, cuando asignamos un valor entero a una variable de tipo float, se trata automáticamente como un float, ya que no se pierde información durante la conversión (10 es lo mismo que 10.0):

index.go

index.go

copy
1
var myFloat float32 = 10 // A valid statement

El otro tipo de conversión de tipos es la Conversión de Tipo Explícita, que ocurre cuando el programador convierte explícitamente datos o expresiones de un tipo a otro. La sintaxis para la conversión de tipo explícita es desiredType(expression), por ejemplo:

index.go

index.go

copy
12345678
package main import "fmt" func main() { var number1 float32 = 7.9 var number2 int = int(number1) fmt.Println(number2) // Outputs 7 }

En el programa anterior, convertimos un valor float32 a un int utilizando conversión de tipo explícita. Como resultado, la parte decimal del número original se descarta y solo el valor entero 7 se almacena en number2. Es importante notar que, en este caso, se pierde parte de la información, específicamente la parte decimal del número (0.9). Sin embargo, tomamos esa decisión de manera explícita.

De manera similar, podemos convertir un rune en un string. En el capítulo de Runas, exploramos un programa que mostraba el valor de una Runa, que era un número. Sin embargo, podemos mostrar el equivalente en carácter de una Runa convirtiéndola en una cadena de texto:

index.go

index.go

copy
123456789
package main import "fmt" func main() { var char rune = 'a' fmt.Println(char) // Outputs 97 fmt.Println(string(char)) // Outputs 'a' }

Sin embargo, no es posible convertir un string en un rune:

index.go

index.go

copy
12
var myString string = "A string value" fmt.Println(rune(myString)) // Error: cannot convert myString (variable of type string) to type rune

Es importante señalar que tampoco podemos convertir una cadena que contiene un solo carácter en un rune:

index.go

index.go

copy
1234567
package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
question mark

¿Cuál de las siguientes es la sintaxis correcta para la conversión de tipos en Go?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 6

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

bookConversión Básica de Tipos

Desliza para mostrar el menú

La conversión de tipos es el proceso de convertir datos de un tipo de dato a otro. Sin embargo, es importante señalar que no siempre es posible convertir datos de un tipo de dato a otro. Por ejemplo, podemos convertir un float a un int y viceversa. Sin embargo, no tendría sentido convertir un string a un int, por lo que no es posible.

Existen dos tipos de conversiones de tipo o conversiones de tipos. Una de ellas es la conversión de tipo implícita. La conversión de tipo implícita ocurre cuando Go convierte automáticamente un tipo a otro cuando es seguro y no ambiguo. Por ejemplo, cuando asignamos un valor entero a una variable de tipo float, se trata automáticamente como un float, ya que no se pierde información durante la conversión (10 es lo mismo que 10.0):

index.go

index.go

copy
1
var myFloat float32 = 10 // A valid statement

El otro tipo de conversión de tipos es la Conversión de Tipo Explícita, que ocurre cuando el programador convierte explícitamente datos o expresiones de un tipo a otro. La sintaxis para la conversión de tipo explícita es desiredType(expression), por ejemplo:

index.go

index.go

copy
12345678
package main import "fmt" func main() { var number1 float32 = 7.9 var number2 int = int(number1) fmt.Println(number2) // Outputs 7 }

En el programa anterior, convertimos un valor float32 a un int utilizando conversión de tipo explícita. Como resultado, la parte decimal del número original se descarta y solo el valor entero 7 se almacena en number2. Es importante notar que, en este caso, se pierde parte de la información, específicamente la parte decimal del número (0.9). Sin embargo, tomamos esa decisión de manera explícita.

De manera similar, podemos convertir un rune en un string. En el capítulo de Runas, exploramos un programa que mostraba el valor de una Runa, que era un número. Sin embargo, podemos mostrar el equivalente en carácter de una Runa convirtiéndola en una cadena de texto:

index.go

index.go

copy
123456789
package main import "fmt" func main() { var char rune = 'a' fmt.Println(char) // Outputs 97 fmt.Println(string(char)) // Outputs 'a' }

Sin embargo, no es posible convertir un string en un rune:

index.go

index.go

copy
12
var myString string = "A string value" fmt.Println(rune(myString)) // Error: cannot convert myString (variable of type string) to type rune

Es importante señalar que tampoco podemos convertir una cadena que contiene un solo carácter en un rune:

index.go

index.go

copy
1234567
package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
question mark

¿Cuál de las siguientes es la sintaxis correcta para la conversión de tipos en Go?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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