Ya habíamos hablado que Dart es un lenguaje con tipado estático opcional, por lo que si el programador lo desea puede agregar un tipo de dato a las variables que cree. Pero no hemos hablado sobre qué tipo de variables existen en Dart y por qué utilizarlas.
Google recomienda utilizar tipos de variable por cuatro razones:
- Documentación para humanos.
- Documentación para máquinas: puede proveer buenas características como la completación de métodos y mejor navegación en los IDE.
- Detección temprana de errores: Dart provee un verificador estático que ayuda a encontrar potenciales errores.
- Según Google, usar tipos de datos puede aumentar el rendimiento de la aplicación cuando se compila a JavaScript, pero no ha dado mayores detalles sobre esto.
Ya tenemos unas razones por las cuales es recomendado usar tipos de datos para nuestras variables, pero... ¿cuáles variables hay disponibles?
En este tutorial hablaremos sobre los tipos de variables incorporados en el lenguaje, que son:
- Números
- Booleanos
- Cadenas de texto
- Listas
- Mapas
var
Sé que están pensando "¿por qué comenzó con var"? ¡Ni lo había nombrado anteriormente!". Tranquilos, var es solamente una expresión para referirse a que nuestra variable es de tipo cualquiera.
Sí, leyeron bien, de tipo cualquiera. Gracias a var, la máquina virtual de Dart o el compilador a JavaScript se encarga de escoger el tipo de dato más óptimo para nuestra variable.
Obviamente si estás trabajando en una API o creando un software para funcionar en un Jet, no deberías usar var.
Números
En Dart tenemos tres tipos de datos para referirnos a un número:
- int: Para un número entero, que no contiene decimales.
Código :
int numerito = 1337;
- double: Para un número que contiene decimales.
Código :
double numeritoDecimal = 3.14159265;
- num: Sirve para que la variable sea int o double, le damos al intérprete a escoger tipo de dato más óptimo.
Código :
num numeritoCualquiera = 1337; num numeritoCualquiera = 3.14159265;
num es algo parecido a var pero en lugar de ser para cualquier tipo, es solamente válida para números.
Booleanos
Para booleanos sólo tenemos un tipo de dato: bool. Este solamente puede tomar dos valores: true o false.
Código :
bool dartRocks = true;
Cadenas de texto
Tenemos un tipo de dato para definir cadenas: String, con S mayúscula al inicio. Para que sea válido, el valor de nuestra variable debe estar entre comillas, ya sean simples o dobles.
Hay muchas formas de trabajar con cadenas, como son:
- Concatenar cadenas: Hay 2 formas de hacerlo, la más común es agregando un + entre dos expresiones.
Código :
String concatenar = "Hola " + "Cristalab";
O podemos hacerlo sin poner el +, Dart no les pondrá problema y será lo mismo para él. Lo único es que se recomienda el + porque es más visual para posibles personas que vayan a estudiar tu código.Código :
String concatenar = "Hola " "Cristalab";
- Raw Strings: Si queremos evadir los caracteres especiales en una cadena sólo debemos anteponer r antes de comenzar nuestra cadena.
Código :
String evadir = r"Soy una cadena \u2665. Pero con caracteres especiales evadidos.\n";
- Con múltiples líneas: Si necesitamos tener varias líneas en nuestra variable, en lugar de abrir y cerrar con comillas debemos abrir y cerrar con 3 comillas simples.
Código :
String multilinea = '''Hola, voy a tener varias lineas''';
Listas
En la mayoría de lenguajes, la colección más común de datos son los arreglos (arrays). En Dart, los arreglos son el objeto List, por lo que se le llaman listas. Las listas en Dart se construyen igual a un arreglo en Javascript o con el constructor List([int length]).
El tipo de dato para una lista es List, donde E es el tipo de dato que nuestra lista va a tener. Si va a ser una lista con diferentes tipos de datos, podremos utilizar var.
- Usando tipos:
Código :
List<int> numeros = [0,1,1,2,3,5]; List<int> numeros = new List(6);
- Sin usar tipos:
Código :
var lista = [1337, "hola", true, 3.1415];
Mapas
Un mapa es un objeto que asocia una llave con un valor. Cada llave es única, pero puedes repetir los valores las veces que sean necesarias. Los mapas se construyen igual a un objeto en JavaScript o con el constructor Map().
El tipo de dato para un mapa es Map, donde K es el tipo de dato para la llave y V es el tipo de dato para el valor. Claro, que como en las listas, si deseamos utilizar cualquier tipo de dato en nuestras llaves o valores, sólo es necesario utilizar el tipo de dato var.
- Usando tipos:
Código :
Map<String, int> mapa = { 'uno': 1 }; Map<String, int> mapa = new Map();
- Sin usar tipos:
Código :
var mapa = { 'uno': 1 };
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Jesus Perales el 07 de Abril de 2014
Por juanda95 el 07 de Abril de 2014
Jesus Perales-blog :
No las puse aquí ya que es un tema más extenso (me parece a mi). Pero mira un ejemplo de cómo sería un Regex en Dart, lo único que cambiarías sería la expresión regular (regexSentence) y la frase en donde buscar (sentence).
Hay otro poquito más de información en la documentación oficial.
Por renelandia el 09 de Abril de 2014
Por SinSemilla el 10 de Abril de 2014
jajajajajajajajaja
¿Me estas jodiendo?????
jajajaja
Por Mariux el 10 de Abril de 2014
SinSemilla :
jajajajajajajajaja
¿Me estas jodiendo?????
jajajaja
eso no aporta nada, si ves que algo es erróneo o vos lo haces de otra manera, postealo así se abre el debate y nos beneficiamos todos.
Por SinSemilla el 11 de Abril de 2014
Mariux :
SinSemilla :
jajajajajajajajaja
¿Me estas jodiendo?????
jajajaja
eso no aporta nada, si ves que algo es erróneo o vos lo haces de otra manera, postealo así se abre el debate y nos beneficiamos todos.
Mariux, no digo que este mal ni nada por el estilo, simplemente me parece terriblemente gracioso que para que una variable reconozca los saltos de linea haya que poner tres comillas simples...
jajajaja lo pienso y me tiento... jajaja
Espero no ofender a nadie, no es mi intención, pero es mi opinión.
Y no seas mala, no me retes que solo estoy compartiendo mi opinión... que para eso esta el foro, no?...
Saludos!
Por Mariux el 11 de Abril de 2014
SinSemilla :
Mariux :
SinSemilla :
jajajajajajajajaja
¿Me estas jodiendo?????
jajajaja
eso no aporta nada, si ves que algo es erróneo o vos lo haces de otra manera, postealo así se abre el debate y nos beneficiamos todos.
Mariux, no digo que este mal ni nada por el estilo, simplemente me parece terriblemente gracioso que para que una variable reconozca los saltos de linea haya que poner tres comillas simples...
jajajaja lo pienso y me tiento... jajaja
Espero no ofender a nadie, no es mi intención, pero es mi opinión.
Y no seas mala, no me retes que solo estoy compartiendo mi opinión... que para eso esta el foro, no?...
Saludos!
jajaj okok, es que parecía burla. gracias por responder
Por juanda95 el 11 de Abril de 2014
SinSemilla :
Mariux :
SinSemilla :
jajajajajajajajaja
¿Me estas jodiendo?????
jajajaja
eso no aporta nada, si ves que algo es erróneo o vos lo haces de otra manera, postealo así se abre el debate y nos beneficiamos todos.
Mariux, no digo que este mal ni nada por el estilo, simplemente me parece terriblemente gracioso que para que una variable reconozca los saltos de linea haya que poner tres comillas simples...
jajajaja lo pienso y me tiento... jajaja
Espero no ofender a nadie, no es mi intención, pero es mi opinión.
Y no seas mala, no me retes que solo estoy compartiendo mi opinión... que para eso esta el foro, no?...
Saludos!
Me hiciste caer en cuenta de que pasé por alto una cosa en esa parte con respecto a los saltos de línea. También podemos hacerlo de la forma "tradicional" con \n. Por ejemplo:
Código :