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 tipodouble
.
🔢 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:
- Poñendo literais de texto adxacentes (sen operador).
- 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()
edouble.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: 🇩🇰