diegoRodicio

Está documentación está a túa disposición sin ningún custo económico. Sen embargo, para a súa elaboración dedico moito tempo e recursos, polo que agradecería unha colaboración co que consideres oportuno. Gracias.

View Categories

🧩 Tipos básicos

Dentro dos tipos integrados, nesta sección veremos aqueles que considero fundamentais en Dart:

  • 📊 Números (int, double)
  • 🔡 Cadenas de texto (String)
  • ✅ Valores lóxicos (bool)

🔢 Números: int e double #

Dart ofrece dous tipos principais para números:

  • int: números enteiros (sen parte decimal).
  • double: números reais con decimais (coma flotante de precisión dobre).
int idade = 25;
double altura = 1.75;

Pódense usar operacións aritméticas estándar: +, -, *, /, %:

var resultado = 10 + 5;    // 15
var division = 10 / 3;     // 3.333...

🔢 Conversión automática de enteiros a reais. #

En Dart, os literais enteiros son convertidos automaticamente a double cando é necesario:

double z = 1; // É equivalente a: double z = 1.0;

📌 Isto facilita escribir código máis limpo sen ter que engadir .0 aos números enteiros cando se asignan a variables de tipo double.

🔢 Separadores de díxitos #

Podes usar un ou máis guións baixos (_) como separador de díxitos para facer os literais numéricos máis lexibles.

Isto non afecta o valor do número, só mellora a súa lectura.

🧪 Exemplo:

var n1 = 1_000_000;                    // Un millón
var n2 = 0.000_000_000_01;            // Número moi pequeno
var n3 = 0x00_14_22_01_23_45;         // Enderezo MAC en hexadecimal
var n4 = 555_123_4567;                // Número de teléfono dos EUA
var n5 = 100__000_000__000_000;       // Cen millóns de millóns

📌 Podes agrupar os díxitos como prefiras. Dart ignora os guións baixos no valor final.

🔤 Cadeas de texto: String #

Podes usar comiñas simples (') ou comiñas dobres (") para declarar cadeas de texto.

Ambas funcionan do mesmo xeito, e podes escoller cal usar dependendo do contido da cadea.

🧪 Exemplo:

var s1 = 'As comiñas simples funcionan ben para literais de texto.';
var s2 = "As comiñas dobres tamén funcionan igual de ben.";
var s3 = 'É doado escapar o delimitador da cadea con barra invertida: It\'s simple.';
var s4 = "Aínda é máis doado usar o outro delimitador: It's simple.";

📌 Escoller entre comiñas simples ou dobres adoita depender do texto que vaia dentro, para evitar ter que usar barras invertidas (\\).

🔗 Interpolación de cadeas #

En Dart, podes inserir o valor dunha expresión dentro dunha cadea usando $expresión ou ${expresión}.

  • Se a expresión é un identificador simple, podes omitir as chaves.
  • Se é unha expresión máis complexa, debes usar ${}.
  • Dart chama automaticamente ao método toString() do obxecto para obter a súa representación en texto.

🧪 Exemplo:

var s = 'interpolación de cadeas';

var s2 = 'Dart ten $s, o cal é moi útil.'; 
//'Dart ten interpolación de cadeas, o cal é moi útil.'

var s3 = 'Iso merece ir en maiúsculas. ${s.toUpperCase()} é moi útil!'; 
//'Iso merece ir en maiúsculas. INTERPOLACIÓN DE CADEAS é moi útil!'

String nome = 'Diego';
String frase = "Ola, $nome!";



📌 A interpolación mellora a lexibilidade e evita concatenacións con +.

➕ Concatenación de cadeas #

En Dart, podes concatenar cadeas de dúas formas:

  1. Poñendo literais de texto adxacentes (sen operador).
  2. Usando o operador +.

🧪 Exemplo:

var s1 =
    'A concatenación de '
    'cadeas funciona '
    "mesmo con saltos de liña.";

var s2 = 'O operador + ' + 'tamén funciona.';


📌 A concatenación sen + é útil para dividir cadeas longas en varias liñas sen perder lexibilidade.

🧾 Cadeas de varias liñas #

Para crear cadeas que ocupen varias liñas, podes usar comiñas triplas: xa sexan simples (''') ou dobres (""").

🧪 Exemplo:

var s1 = '''
Podes crear
cadeas de varias liñas
deste xeito.
''';

var s2 = """Isto tamén é
unha cadea de varias liñas.""";

📌 Ideal para bloques de texto, mensaxes longas ou contido con saltos de liña incluídos.

🔁 Conversión entre cadeas e números #

Así é como se pode converter un String nun número, ou un número nun String:

// String → int
var un = int.parse('1');

// String → double
var unComaUn = double.parse('1.1');

// int → String
String unComoTexto = 1.toString();

// double → String con 2 decimais
String piComoTexto = 3.14159.toStringAsFixed(2);

📌 int.parse() e double.parse() serven para converter texto en números.

📌 .toString() e .toStringAsFixed(n) serven para converter números en texto.

✅ Booleanos: bool #

O tipo bool representa valores lóxicos: true ou false.

bool maiorDeIdade = idade >= 18;

Pódense usar en condicións, comparacións e operadores lóxicos:

if (maiorDeIdade && altura > 1.5) {
  print('Cumpre os requisitos.');
}

🔣 Unicode, caracteres especiais e emojis #

En Dart podemos acceder aos caracteres Unicode dunha cadea.

Para manipular caracteres complexos como emojis ou símbolos combinados (tamén chamados clusters de grafemas Unicode), recoméndase usar o paquete characters.

ℹ️ Unicode en Dart #

  • Cada letra, número ou símbolo ten un valor numérico único en Unicode.
  • As cadeas de Dart son secuencias de unidades de código UTF-16.
  • Para incluír un punto de código Unicode nunha cadea, usa a seguinte sintaxe:

🧪 Exemplo:

var corazon = '\u2665';        // ♥ (4 díxitos hex)
var risa = '\u{1f606}';        // 😆 (máis de 4 díxitos)

📌 Se o código ten máis ou menos de 4 díxitos hexadecimais, colócase entre chaves {}.

📦 Usando o paquete characters #

📌 NOTA: Na sección de instalación amoso como instalar o paquete characters

Se precisas ler ou escribir caracteres percibidos polo usuario (como emojis ou símbolos combinados), usa characters:

import 'package:characters/characters.dart';

void main() {
  var saudo = 'Ola 🇩🇰';
  print(saudo);

  print('Final da cadea: ${saudo.substring(saudo.length - 1)}');
  print('Último carácter real: ${saudo.characters.last}');
}

🖨️ Posible saída:

Ola 🇩🇰
Final da cadea: ?
Último carácter real: 🇩🇰

📦 Exemplos #

🔗 Ver o código en DartPad