Last active
January 24, 2020 00:14
-
-
Save ruslanguns/9fe9bea41a7943fac39e5df17bbbbc81 to your computer and use it in GitHub Desktop.
Dart Language Intro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
final perro = Perro(); | |
perro.emitirSonido(); | |
final gato = Gato(); | |
gato.emitirSonido(); | |
} | |
abstract class Animal { | |
int patas; | |
void emitirSonido(); | |
} | |
class Perro implements Animal { | |
int patas; | |
int colas; | |
void emitirSonido() => print('Guau!'); | |
} | |
class Gato implements Animal { | |
int patas; | |
void emitirSonido() => print('Miau!'); | |
} | |
// OUTPUT => | |
/** | |
Guau! | |
Miau! | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() async { | |
print('Estamos a punto de pedir datos'); | |
String data = await httpGet('https://api/productos'); | |
print( data ); | |
print('Última línea'); | |
} | |
Future<String> httpGet(String url) { | |
return Future.delayed( new Duration( seconds: 4 ), () { | |
return 'Hola mundo'; | |
}); | |
} | |
// OUTPUT => | |
/** | |
Estamos a punto de pedir datos | |
Hola mundo | |
Última línea | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
/** | |
* Booleans | |
*/ | |
bool activado = true; | |
bool desactivado = !activado; | |
print(activado); | |
if (!desactivado) { | |
print('El motor está activado'); | |
} else { | |
print('Está apagado'); | |
} | |
} | |
// OUTPUT => | |
/** | |
true | |
El motor está activado | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
final wolverine = new Heroe(nombre: 'Logan', poder: 'Regeneración'); // Se puede instanciar con Heroe() | |
print( wolverine ); | |
print( wolverine.nombre ); | |
print( wolverine.poder ); | |
} | |
class Heroe { | |
String nombre; | |
String poder; | |
// Heroe({ String nombre, String poder}){ | |
// this.nombre = nombre; | |
// this.poder = poder; | |
// } | |
Heroe({ this.nombre, this.poder }); | |
// String toString() { | |
// return 'Nombre: ${ this.nombre } - Poder ${ this.poder }'; | |
// } | |
String toString() => 'Nombre $nombre - Poder $poder'; | |
} | |
// OUTPUT => | |
/** | |
Nombre Logan - Poder Regeneración | |
Logan | |
Regeneración | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:convert'; | |
void main() { | |
// final wolverine = new Heroe('Logan', 'Regeneración'); | |
final rawJson = '{ "nombre": "Logan", "poder": "Regeneración" }'; | |
final parsedJson = json.decode( rawJson ); | |
// print(parsedJson); // Map | |
final wolverine = new Heroe.fromJson(parsedJson); | |
print(wolverine.nombre); | |
print(wolverine.poder); | |
} | |
class Heroe { | |
String nombre; | |
String poder; | |
Heroe(this.nombre, this.poder); | |
Heroe.fromJson( Map parsedJson ) { | |
nombre = parsedJson['nombre']; | |
poder = parsedJson['poder']; | |
} | |
} | |
// OUTPUT => | |
/** | |
Logan | |
Regeneración | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
final superman = Heroe(); | |
superman.nombre = 'Clark Kent'; | |
final luthor = Villano(); | |
luthor.nombre = 'Lex Luthor'; | |
print('${ superman.nombre }, ${ luthor.nombre }'); | |
} | |
abstract class Personaje { | |
String poder; | |
String nombre; | |
} | |
class Heroe extends Personaje { | |
String valentia; | |
} | |
class Villano extends Personaje { | |
int maldad; | |
} | |
// OUTPUT => | |
/** | |
Clark Kent, Lex Luthor | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
String mensaje = saludar(texto: 'Hola', nombre: 'Ruslan'); | |
String mensaje2 = saludar2(texto: 'Hola 2', nombre: 'Ruslan'); | |
print(mensaje); | |
print(mensaje2); | |
} | |
String saludar({ String texto, String nombre }) { | |
// print('Hola'); | |
return '$texto $nombre'; | |
} | |
String saludar2({ String texto, String nombre }) => '$texto $nombre'; | |
// OUTPUT => | |
/** | |
Hola Ruslan | |
Hola 2 Ruslan | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
/** | |
* Listas | |
*/ | |
List<int> numeros = [1,2,3,4,5,]; | |
print( numeros ); | |
numeros.add(6); | |
print( numeros ); | |
// numeros.add('Hola munto'); // Solo tipo int | |
// print( numeros ); | |
// OUTPUT: Error: The argument type 'String' can't be assigned to the parameter type 'int'. | |
// Tamaño fijo | |
List masNumeros = List(10); | |
print(masNumeros); | |
// masNumeros.add(1); | |
//OUTPUT Error: Error: Unsupported operation: add | |
masNumeros[0] = 1; | |
print(masNumeros); | |
} | |
// OUTPUT => | |
/** | |
[1, 2, 3, 4, 5] | |
[1, 2, 3, 4, 5, 6] | |
[null, null, null, null, null, null, null, null, null, null] | |
[1, null, null, null, null, null, null, null, null, null] | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
String propiedad = 'soltero'; | |
Map<String, dynamic> persona = { | |
'nombre': 'Carlos', | |
'edad': 32, | |
'soltero': true | |
}; | |
print(persona['nombre']); | |
print(persona['edad']); | |
print(persona[propiedad]); | |
Map<int, String> personas = { | |
1: 'Tony', | |
2: 'Peter', | |
4: 'Strange', | |
}; | |
personas.addAll({3: 'Banner'}); | |
print(personas); | |
print(personas[2]); | |
} | |
// OUTPUT => | |
/** | |
Carlos | |
32 | |
true | |
{1: Tony, 2: Peter, 4: Strange, 3: Banner} | |
Peter | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
final pato = new Pato(); | |
pato.volar(); | |
new Murcielago().caminar(); | |
} | |
abstract class Animal { } | |
abstract class Mamifero extends Animal { } | |
abstract class Ave extends Animal { } | |
abstract class Pez extends Animal { } | |
abstract class Volador { | |
void volar() => print('Estoy volando'); | |
} | |
abstract class Caminante { | |
void caminar() => print('Estoy caminando'); | |
} | |
abstract class Nadador { | |
void nadar() => print('Estoy nadando'); | |
} | |
class Delfin extends Mamifero with Nadador { } | |
class Murcielago extends Mamifero with Caminante, Volador { } | |
class Gato extends Mamifero with Caminante { } | |
class Paloma extends Ave with Caminante, Volador { } | |
class Pato extends Ave with Caminante, Volador, Nadador { } | |
class Tiburon extends Pez with Nadador { } | |
class PezVolador extends Pez with Nadador, Volador { } | |
// OUTPUT => | |
/** | |
Estoy volando | |
Estoy caminando | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
final cuadrado = Cuadrado(); | |
cuadrado.lado = 10; | |
print(cuadrado); | |
print( 'Área: ${cuadrado.area}'); | |
} | |
class Cuadrado { | |
double _lado; | |
// double _area; // Se esta declarando con el getter | |
set lado( double valor ) { | |
if ( valor <= 0 ) { | |
throw('El valor no puede ser menor o igual a cero'); | |
} | |
_lado = valor; | |
} | |
toString() => 'Lado $_lado'; | |
double get area => _lado * _lado; | |
} | |
// OUTPUT => | |
/** | |
Lado 10 | |
Área: 100 | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void main() { | |
/** | |
* print('Hola munto'); | |
*/ | |
String nombre = 'Ruslan'; | |
print('Hola $nombre'); | |
// Números | |
int empleados = 10; // Solo números enteros | |
double pi = 3.1416; // Permite números con decimales | |
double numero = 1.0; // Si es double, poner al menos 1.0 | |
print( '$empleados - $pi - $numero'); | |
// String | |
String name = 'Tony'; | |
print(name); | |
print(name[0]); // Traer la primera letra del string | |
print(name[name.length -1]); // Traer la última letra | |
} | |
// OUTPUT => | |
/** | |
Hola Ruslan | |
10 - 3.1416 - 1 | |
Tony | |
T | |
y | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment