Tipos de Datos en Dart
 
                
                    Por
                    Darío Rivera
                    
                            
                        Publicado el
                        
                        en
                        Flutter
                    
                En nuestro anterior post vimos cómo crear nuestro primer Hola Mundo en el lenguaje de programación Dart. El día de hoy veremos un aspecto importante del lenguaje el cual son los tipos de datos incorporados.
Tipos primitivos
| Tipo | Descripción | Valor | 
|---|---|---|
| Null | null | |
| int | Números enteros | un número como 30 | 
| double | Números de coma flotante | un número decimal como 45.8 | 
| String | Cadenas de texto | una cadena de texto como 'hola' | 
| List | Listas o arreglos de datos | una lista como [1, 2, 3] | 
| Set | Colecciones no ordenadas de ítems únicos | una colección como {'a', 'b'} | 
| Map | Asociaciones de claves y valores | una asociación como {'a': 'b', 'c': 'd'} | 
| Runes | Puntos UNICODE de una cadena | undefined | 
| Symbol | Representa un operador o identificador | Un identificador como #radix | 
En los siguientes ejemplos utilizamos runtimeType para ver el tipo específico de dato en Dart.
print(null.runtimeType);                 // Null
print(30.runtimeType);                   // int
print(45.8.runtimeType);                 // double
print('hola'.runtimeType);               // String
print([1, 2 ,3].runtimeType);            // JSArray<int>
print({'a', 'b'}.runtimeType);           // _LinkedHashSet<String>
print({'a': 'b', 'c': 'd'}.runtimeType); // JsLinkedHashMap<String, String>
print(#radix.runtimeType);               // Symbol("radix.runtimeType")
Este ejemplo dice mucho de los tipos de datos en Dart. Primero, debes tener en cuenta que todo en Dart es un objeto, cadenas de texto, números, etc. Es por esto que podemos utilizar el método runtimeType para ver el tipo de dato.
Por otro lado, en cualquier objeto en donde el tipo sea abstracto se verá el tipo de implementación. Por ejemplo, el tipo _LinkedHashSet<String> indica que _LinkedHashSet es una implementación de Set.