Bienvenidos sean a este post, hoy comenzaremos con lo basico de todo lenguaje como son las variables.
Como en todo lenguaje para poder manipular informacion en nuestro codigo disponemos de un elemento que se encarga de reservar espacio en memoria donde podemos almacenar esa informacion para luego recuperarla y utilizarla asi como modificarla en caso de ser necesario, estas son conocidas como variables.
Si bien el lenguaje no genera las variables a la vieja usanza como en C++ o Java donde debemos indicar el tipo de dato que almacenara sino que este lo determinara automaticamente una vez que le asignemos el valor al mismo, pero al igual que en otros lenguajes las variables pueden ser mutables o no, es decir que se puede modificar la informacion en ella o no, de manera predeterminada son inmutables.
Nota: Si conocen lenguajes como C++ o similares podemos considerar a los inmutables como constantes.
Veamos como se define una variable:
let <mut> nombreVariable = valor;
En este caso siempre sera let al comienzo luego podemos agregar el modificador mut, el cual convertira a la variable en mutable pero es opcional dado que sino lo pasamos se considerara inmutable, lo siguiente sera siempre el nombre de la variable y por ultimo el valor que almacenara, veamos un ejemplo:
let x = 1;
En este caso creamos una variable inmutable llamada x y que poseera el valor de 1, para convertirla en mutable simplemente haremos lo siguiente:
let mut x = 1;
Si bien dijimos que el lenguaje determina el tipo de variable en base a la informacion nosotros podemos definir el tipo para ello debemos hacer la siguiente modificacion:
let x = 1i32;
En este le decimos que el dato de tipo es integer (entero) de 32 bits, por ejemplo si deseamos declarar una variable de tipo float de 32 bits debemos hacerlo de la siguiente forma:
let pi = 3.14159265f32;
Como pueden ver siempre sera la primera letra del tipo y seguido de 32 o 64 para 32 bits o 64 bits respectivamente, otra forma de declarar el tipo es la siguiente:
let pi: f32 = 3.14159265;
Por ultimo en caso de omitir el tipo, para los tipo int se utilizara el de 32 bits y para los de tipo float usara el de 64 bits.
Al igual que otros lenguajes podemos utilizar enteros con signos (signed) o sin signos (unsigned), esto se utiliza habitualmente para permitir tener mas espacio en memoria para almacenar informacion, para declarar un entero con signo es como vimos anteriormente:
let x = 2048i32;
En cambio para los de tipo unsigned se debe hacer de la siguiente forma:
let x = 2048u32;
Por ultimo tenemos dos tipos de elementos que no son variables sino valores de tipos constantes:
- const
- static
Los de tipo const en realidad son como un alias y sus contenidos se reemplazan en el lugar donde se usan, su sintaxis es la siguiente:
const pi: f32 = 3.14159265;
Las statics son mas como las variables pero en cambio tienen un alcance en todo el programa, en general se lo denomina como global, y podra ser accedida desde cualquier lugar, en ambos casos estos no pueden ser modificados en ningun momento.
Al igual que en otros lenguajes se puede hacer un casting, cuando hablamos de esto nos referimos a la capacidad de poder readaptar un tipo de variable en otro, por ejemplo en el caso de los numericos podemos convertir un tipo float a un tipo int, para realizar el casting debemos usar la palabra reservada as, veamos un ejemplo:
let valor = 2048i32
let mut valor_final: u32 = 100;
let valor_final = valor as u32;
Primero creamos una variable con un valor de tipo int de 32 bits, luego creamos otro pero esta vez mutable int unsigned y de 32 bits con otro valor, por ultimo a valor_final le asignamos el contenido de valor pero para que sean del mismo tipo usamos a as para «castearlo» como un int unsigned de 32 bits, otra forma de usarlo es la siguiente:
let pi = 3.14159265f32;
let nvo_pi = pi as i32;
En este caso convertiremos el valor de pi a int de 32 bits por lo que eliminara la parte decimal y el valor de nvo_pi sera de 3 pero tengan en cuenta que si hacemos con un numero que supera la capacidad del tipo «casteado» se convertira a 0 por eso debe usarse con cuidado.
Por ultimo tambien disponemos de los alcances de otros lenguajes:
- global
- local
Cuando hablamos de global nos referimos a que podran ser accedidos desde cualquier funcion o bloque en el codigo, en cambio las locales solo pueden ser usadas en el bloque o funcion donde fueron declaradas, la diferencia mas evidente mas alla desde donde pueden ser accedidas es la velocidad de procesamiento de ellas, siendo las locales mas rapidas de procesar que las globales y los tipos const y static deben ser declaradas como globales, es decir al comienzo del codigo y fuera de cualquier bloque o funcion.
En resumen, hoy hemos visto que son las variables, como trabajan, como definen su tipo, como podemos definir alguno a nuestra necesidad, sus distintas formas, tambien los tipos const y static como asi tambien los alcances, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
