Anuncios

Bienvenidos sean a este post, hoy comenzaremos con lo basico de todo lenguaje como son las variables.

Anuncios

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.

Anuncios

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.

Anuncios
Nota:
Si conocen lenguajes como C++ o similares podemos considerar a los inmutables como constantes.
Anuncios

Veamos como se define una variable:

let <mut> nombreVariable = valor;
Anuncios

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;
Anuncios

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;
Anuncios

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;
Anuncios

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;
Anuncios

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;
Anuncios

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.

Anuncios

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;
Anuncios

En cambio para los de tipo unsigned se debe hacer de la siguiente forma:

let x = 2048u32;
Anuncios

Por ultimo tenemos dos tipos de elementos que no son variables sino valores de tipos constantes:

  • const
  • static
Anuncios

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;
Anuncios

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.

Anuncios

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;
Anuncios

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;
Anuncios

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.

Anuncios

Por ultimo tambien disponemos de los alcances de otros lenguajes:

  • global
  • local
Anuncios

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.

Anuncios

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.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50