Requisito previo: tipos de datos de Golang
La conversión de tipo ocurre cuando asignamos el valor de un tipo de datos a otro. Los lenguajes de tipo estático como C / C++ , Java , brindan soporte para la conversión de tipo implícita, pero Golang es diferente, ya que no admite la conversión de tipo automática o la conversión de tipo implícita, incluso si los tipos de datos son compatibles. La razón de esto es el Strong Type System de Golang que no permite hacer esto. Para la conversión de tipos, debe realizar una conversión explícita.
Según la especificación de Golang, no existe una palabra o terminología de encasillamiento en Golang. Si intenta buscar Type Casting en las especificaciones o documentación de Golang, no encontrará nada como esto. Solo hay conversión de tipo. En otros lenguajes de programación, el encasillamiento también se denomina conversión de tipo.
¿Cuál es la necesidad de conversión de tipo?
Bueno, si necesita aprovechar ciertas características de las jerarquías de tipos de datos, entonces tenemos que cambiar las entidades de un tipo de datos a otro. La sintaxis general para convertir un valor val a un tipo T es T(val) .
Ejemplo:
var geek1 int = 845 // explicit type conversion var geek2 float64 = float64(geek1) var geek3 int64 = int64(geek1) var geek4 uint = uint(geek1)
C
// Go program to find the // average of numbers package main import "fmt" func main() { // taking the required // data into variables var totalsum int = 846 var number int = 19 var avg float32 // explicit type conversion avg = float32(totalsum) / float32(number) // Displaying the result fmt.Printf("Average = %f\n", avg) }
Producción:
Average = 44.526318
Nota: como Golang tiene un sistema de tipos fuerte, no permite mezclar (como sumas, restas, multiplicaciones, divisiones, etc.) los tipos numéricos en las expresiones y tampoco se le permite realizar una asignación entre los dos mixtos. tipos
Ejemplo:
var geek1 int64 = 875 // it will give compile time error as we // are performing an assignment between // mixed types i.e. int64 as int type var geek2 int = geek1 var geek3 int = 100 // it gives compile time error // as this is invalid operation // because types are mix i.e. // int64 and int var addition = geek1 + geek3
Publicación traducida automáticamente
Artículo escrito por anita yadav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA