Programación Dart - Sintaxis

La sintaxis define un conjunto de reglas para escribir programas. Cada especificación de lenguaje define su propia sintaxis. Un programa de Dart se compone de:

  • Variables y operadores
  • Classes
  • Functions
  • Expresiones y construcciones de programación
  • Toma de decisiones y construcciones de bucle
  • Comments
  • Bibliotecas y paquetes
  • Typedefs
  • Estructuras de datos representadas como colecciones / genéricos

Tu primer código de dardo

Comencemos con el ejemplo tradicional de "Hola mundo":

main() { 
   print("Hello World!"); 
}

los main()La función es un método predefinido en Dart. Este método actúa como punto de entrada a la aplicación. Un script de Dart necesita elmain() método de ejecución. print() es una función predefinida que imprime la cadena o valor especificado en la salida estándar, es decir, el terminal.

La salida del código anterior será:

Hello World!

Ejecutar un programa de dardos

Puede ejecutar un programa de Dart de dos formas:

  • A través de la terminal
  • A través del IDE de WebStorm

A través de la Terminal

Para ejecutar un programa Dart a través del terminal:

  • Navegar a la ruta del proyecto actual
  • Escriba el siguiente comando en la ventana de Terminal
dart file_name.dart

A través del IDE de WebStorm

Para ejecutar un programa Dart a través de WebStorm IDE:

  • Haga clic con el botón derecho en el archivo de secuencia de comandos de Dart en el IDE. (El archivo debe contener elmain() función para permitir la ejecución)

  • Clickea en el ‘Run <file_name>’opción. A continuación se muestra una captura de pantalla del mismo:

Alternativamente, se puede hacer clic en el botón o usar el acceso directoCtrl+Shift+F10 para ejecutar el script de Dart.

Opciones de la línea de comandos de Dart

Las opciones de la línea de comandos de Dart se utilizan para modificar la ejecución de Dart Script. Las opciones de línea de comandos comunes para Dart incluyen las siguientes:

No Señor Opción y descripción de la línea de comandos
1 -c or --c

Habilita tanto las afirmaciones como las comprobaciones de tipo (modo comprobado).

2 --version

Muestra información sobre la versión de la máquina virtual.

3 --packages <path>

Especifica la ruta al archivo de configuración de resolución del paquete.

4 -p <path>

Especifica dónde encontrar las bibliotecas importadas. Esta opción no se puede utilizar con --packages.

5 -h or --help

Muestra ayuda.

Habilitación del modo marcado

Los programas de dardos se ejecutan en dos modos, a saber:

  • Modo comprobado
  • Modo de producción (predeterminado)

Se recomienda ejecutar Dart VM en checked modedurante el desarrollo y las pruebas, ya que agrega advertencias y errores para ayudar al proceso de desarrollo y depuración. El modo comprobado impone varias comprobaciones como la verificación de tipos, etc. Para activar el modo comprobado, agregue la opción -c o –-checked antes del nombre del archivo de script mientras se ejecuta el script.

Sin embargo, para asegurar un beneficio de rendimiento mientras se ejecuta el script, se recomienda ejecutar el script en el production mode.

Considera lo siguiente Test.dart archivo de script -

void main() { 
   int n = "hello"; 
   print(n); 
}

Ejecute el script ingresando -

dart Test.dart

Aunque hay una falta de coincidencia de tipos, el script se ejecuta correctamente cuando el modo marcado está desactivado. El script dará como resultado el siguiente resultado:

hello

Ahora intente ejecutar el script con la opción "- - marcado" o "-c" -

dart -c Test.dart

O,

dart - - checked Test.dart

La Dart VM arrojará un error que indica que hay una falta de coincidencia de tipos.

Unhandled exception: 
type 'String' is not a subtype of type 'int' of 'n' where 
   String is from dart:core 
   int is from dart:core 
#0  main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) 
#1  _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) 
#2  _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)

Identificadores en Dart

Los identificadores son nombres dados a elementos en un programa como variables, funciones, etc. Las reglas para identificadores son:

Los identificadores pueden incluir tanto caracteres como dígitos. Sin embargo, el identificador no puede comenzar con un dígito.

  • Los identificadores no pueden incluir símbolos especiales, excepto un guión bajo (_) o un signo de dólar ($).

  • Los identificadores no pueden ser palabras clave.

  • Deben ser únicos.

  • Los identificadores distinguen entre mayúsculas y minúsculas.

  • Los identificadores no pueden contener espacios.

Las siguientes tablas enumeran algunos ejemplos de identificadores válidos y no válidos:

Identificadores válidos Identificadores inválidos
primer nombre Var
primer nombre primer nombre
num1 primer nombre
$ resultado 1número

Palabras clave en Dart

Las palabras clave tienen un significado especial en el contexto de un idioma. La siguiente tabla enumera algunas palabras clave en Dart.

resumen 1 Seguir falso nuevo esta
como 1 defecto final nulo lanzar
afirmar diferido 1 finalmente operador 1 cierto
async 2 hacer para parte 1 tratar
asincrónico * 2 dinámica 1 obtener 1 volver a lanzar typedef 1
esperar 2 más Si regreso var
romper enumeración implementos 1 serie 1 vacío
caso exportar 1 importar 1 estática 1 mientras
captura externo 1 en súper con
clase extiende es cambiar rendimiento 2
constante fábrica 1 biblioteca 1 sincronizar * 2 rendimiento * 2

Espacios en blanco y saltos de línea

Dart ignora los espacios, las pestañas y las nuevas líneas que aparecen en los programas. Puede usar espacios, pestañas y nuevas líneas libremente en su programa y puede formatear y sangrar sus programas de una manera ordenada y consistente que hace que el código sea fácil de leer y comprender.

Dart distingue entre mayúsculas y minúsculas

Dart distingue entre mayúsculas y minúsculas. Esto significa que Dart diferencia entre caracteres en mayúscula y minúscula.

Las declaraciones terminan con punto y coma

Cada línea de instrucción se llama declaración. Cada declaración de dardo debe terminar con un punto y coma (;). Una sola línea puede contener varias declaraciones. Sin embargo, estas declaraciones deben estar separadas por un punto y coma.

Comentarios en Dart

Los comentarios son una forma de mejorar la legibilidad de un programa. Los comentarios se pueden utilizar para incluir información adicional sobre un programa, como el autor del código, sugerencias sobre una función / construcción, etc. El compilador ignora los comentarios.

Dart admite los siguientes tipos de comentarios:

  • Single-line comments ( // ) - Cualquier texto entre un "//" y el final de una línea se trata como un comentario.

  • Multi-line comments (/* */) - Estos comentarios pueden abarcar varias líneas.

Ejemplo

// this is single line comment  
  
/* This is a   
   Multi-line comment  
*/

Programación orientada a objetos en Dart

Dart es un lenguaje orientado a objetos. La orientación a objetos es un paradigma de desarrollo de software que sigue el modelado del mundo real. La orientación a objetos considera un programa como una colección de objetos que se comunican entre sí a través de un mecanismo llamado métodos.

  • Object- Un objeto es una representación en tiempo real de cualquier entidad. Según Grady Brooch, cada objeto debe tener tres características:

    • State - descrito por los atributos de un objeto.

    • Behavior - describe cómo actuará el objeto.

    • Identity - un valor único que distingue un objeto de un conjunto de objetos similares.

  • Class- Una clase en términos de POO es un modelo para crear objetos. Una clase encapsula los datos del objeto.

  • Method - Los métodos facilitan la comunicación entre objetos.

Ejemplo: dardos y orientación a objetos

class TestClass {   
   void disp() {     
      print("Hello World"); 
   } 
}  
void main() {   
   TestClass c = new TestClass();   
   c.disp();  
}

El ejemplo anterior define una clase TestClass. La clase tiene un métododisp(). El método imprime la cadena "Hello World" en la terminal. La nueva palabra clave crea un objeto de la clase. El objeto invoca el métododisp().

El código debería producir lo siguiente output -

Hello World