Dart - tipos de datos

2024-01-11T15:00:00-05:00 | 4 minutos de lectura | Actualizado en 2025-01-24T07:42:46-05:00

jaimetellezb
Dart - tipos de datos

Tabla de Contenido

Introducción

Los tipos de datos en Dart o cualquier otro lenguaje, vienen siendo el tipo de valor que queremos almacenar, como por ejemplo: cadenas, números, listas, entre otros. Son importantes para poder diferenciar bien el tipo de valor que asignamos en cada variable.

En Dart tenemos como principales los siguientes tipos incorporados:

  • Numbers
  • Strings
  • Booleans
  • Records
  • Lists (también conocidos como arrays)
  • Sets
  • Maps
  • Runes
  • Symbols

Numbers

Los numéricos en Dart son parte de Object en la jerarquía de tipos, se divide en 2, los int y double, a su vez estos son subtipos de num.

int

Son valores enteros de máximo 64 bits. Cambia un poco si es para nativo o para Web.

Para Nativo es entre (-2⁶³ — 2⁶³ -1) que equivale a -9223372036854775808 y 9223372036854775807 . Para Web es entre (-2⁵³ — 2⁵³ -1) que equivale a -9007199254740992 y -9007199254740991 .

También se puede usar hexadecimal.

int min = -9223372036854775808; // el número mínimo en int
int max = 9223372036854775807; // el número máximo en int
var numInt = 10;
var numHex = 0xDEADBEEF; // número hexadecimal

En caso de que sea más grande nos mostrará un error en tiempo de compilación.

double

Los double que son números flotantes (permiten decimales) de 64 bits.

double numDouble = 10.53;
double numExp = 10.45e5;

También es posible declarar variables con num, lo único a tener en cuenta es que puede ser tanto int como double.

num numberDynamic = 10;
num numDynamic = 10.45;

Conversiones a cadenas

// De int a String
int intValue = 14;
String intStr = intValue.toString();

// De String a int
String strIntValue = '14';
int strInt = int.parse(strIntValue);

// De double a String
double doubleValue = 10.234;
String doubleStr = doubleValue.toStringAsFixed(2);

// De String a double
String strDoubleValue = '12.323';
double strDouble = double.parse(strDoubleValue);

Strings

Las cadenas almacenas son alfanuméricas y se pueden crear con comillas simples o comillas dobles, lo recomendado es usar comillas simples, pero cabe aclarar que se puede usar cualquiera de las dos.

String str = 'texto en Dart';
var cad = "aquí hay algo de texto!";

Interpolación de Strings

La interpolación de String permite agregar valores dentro de una cadena utilizando $ si es solo un valor o ${<código>} si ya es alguna sentencia.

String strValue = 'One Piece';
String strExp = '$strValue es el mejor anime!';
String strExp2 = '${strValue.toUpperCase()} recomendado!';

Cadenas multilínea

Este tipo de cadenas es muy útil cuando se quiere escribir varias líneas seguidas, para lograrlo basta con agregar tres comillas al inicio y al final.

String strMulti = '''
Aquí podemos tener
múltiples líneas sin necesidad
de usar el salto de línea
''';

Booleans

Los booleanos en Dart son representados por la palabra reservada bool, este tipo de dato solo tiene dos posibles valores true o false. El valor por defecto es false.

bool isValid = true;
var name = '';
assert(name.isEmpty);

Records

Los Records en Dart son similares a la desestructuración en JavaScript, donde tenemos por ejemplo una función que nos devuelve un objeto, pero resulta que de ese objeto solo nos interesan ciertos campos, ahí es muy útil usar los Records.

void main() {

    final Car car = Car('Porsche', 'JAT-119', 'black');
    print(carInfo(car));

}
(String, String) carInfo(final Car car) {
    return (car.brand, car.color);

}

class Car {
    final String brand;
    final String badge;
    final String color;

    Car(this.brand, this.badge, this.color){}
}

Lists — Sets — Maps

Son tipos de colecciones que tiene Dart.

var list = [1, 2, 3. 4, 5];
var numbers = {'uno', 'dos', 'tres', 'cuatro', 'cinco'};
var numberMap = {
// llave: valor
  'one': '1',
  'two': '2',
  'three': '3'
};

Runes

En Dart los Runes hacen que se exponga los códigos unicode. Unicode define un valor numérico único para cada letra, dígito y símbolo utilizado en todos los sistemas de escritura del mundo.

String str = '\u2665 \u2665 \u2665';
String str2 = '\u{1f606}';
String str3 = '\u{1f607}';

Symbols

En Dart un Symbol representa un operador o identificador declarado. No son muy usados pero pueden ser útiles para las APIs que se refieren a sus identificadores por su nombre. Para más detalle ver aquí.

#radix
#bar

Otros tipos

  • dynamic: Los tipos de datos dinámicos hace que pueda tomar cualquier tipo y así mismo cambiar.
  • Object: Es la superclase de todas las clases en Dart excepto Null.
  • Enum: La superclase de todos los enum.
  • Future y Stream: Usados para todo el tema de asíncronos en Dart.
  • Iterable: Utilizado en bucles for-in y en funciones generadoras síncronas.
  • Never: Indica que una expresión nunca puede terminar de evaluarse correctamente. Se suele utilizar en funciones que siempre lanzan una excepción.
  • void: Usado en las funciones cuando no se quiere retornar un valor.

Conclusión

Vimos de manera general los diferentes tipos de datos que maneja Dart con algunos ejemplos, podemos notar que es bastante robusto en este aspecto solo es cuestión de saber aplicarlos en los casos correctos.

¡Gracias por leer!

Fuentes

© 2022 - 2025 jaimetellezb - Compartir guías y tutoriales de programación.

🌱 Powered by Hugo with theme Dream.

Sobre mí

alt

Ingeniero de software

Hola, bienvenidos a mi blog sobre guías y tutoriales de programación.

Aquí podrás encontrar guías y tutoriales sobre algunos temas de tecnología en general. La idea es poder ayudar a que ciertas cosas como configuraciones de nuevas herramientas sean más fáciles de abordar y utilizar. También pequeños proyectos donde se usen diferentes tecnologías como ejemplo.

Enlaces sociales