Conversió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
1var 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
12345678package 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
123456789package 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
12var 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
1234567package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 1.96
Conversió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
1var 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
12345678package 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
123456789package 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
12var 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
1234567package main import "fmt" func main() { var text string = "a"; fmt.Printf(rune(text)) // Error here }
¡Gracias por tus comentarios!