Всеобъемлющее руководство по программированию дротиков: ускоренный курс (часть - 1)

Все, что вам нужно знать, чтобы начать работу с языком программирования Dart.

Большую часть времени мы проводим часы за просмотром контента на YouTube или других сайтах, и все, что нам нужно, - это начать работать с этим языком. Если вы собираетесь стать лучшим разработчиком, вам нужно изучить все основные концепции, но если вы хотите создавать что-то как можно быстрее, все, что вам нужно, - это ускоренный курс.

Зачем изучать программирование на Dart?

Dart - относительно простой, современный и высокоэффективный язык программирования. Dart - это оптимизированный для клиентов язык программирования для приложений на нескольких платформах. Dart разработан Google и используется для создания мобильных, настольных, серверных и веб-приложений. Dart - это объектно-ориентированный язык, основанный на классах и сборщик мусора, с синтаксисом в стиле C. Dart может компилироваться как в собственный код, так и в JavaScript.

Темы, которые мы собираемся осветить во всех частях:

  1. Hello World (Все, что нам нужно для изучения языка программирования 😅)
  2. Комментарии
  3. Принимая вход
  4. Типы данных
  5. Операторы
  6. Условные утверждения
  7. Петли
  8. Функции
  9. Обработка исключений
  10. Коллекции
  11. Объектно-ориентированное программирование

Темы, которые мы собираемся осветить в этой части:

  1. Привет, мир
  2. Комментарии
  3. Принимая вход
  4. Типы данных
  5. Операторы

1. Привет, мир:

Main - это специальная, обязательная функция верхнего уровня, с которой начинается выполнение приложения. Каждое приложение должно иметь функцию верхнего уровня main(), которая служит точкой входа в приложение.

Итак, не теряя времени, напишем нашу программу hello world.

void main() {
  print(“Hello World”);
}

2. Комментарии

Комментарий в программе - это как заметка для всех разработчиков, которые собираются читать эту программу.

Комментарии предназначены только для людей, когда компилятор проигнорирует их.

void main() {
  //it's single line comment
  /* Multiple
     Line
     Comment
  */
  print(“Hello World”);
}

3. Принимая участие

Вы можете сделать стандартный ввод от пользователя через консоль с помощью функции readLineSync (), и для этого вам необходимо импортировать библиотеку dart : io из Дротика.

import ‘dart:io’;
void main(List<String> args) {
  stdout.write(“What’s your name: “);
  String name = stdin.readLineSync();
  print(name);
}

4. Типы данных

Прежде чем погрузиться в типы данных, давайте поговорим о переменных.

Переменные

Переменная - это ссылка или символическое имя области памяти компьютера. Проще говоря, это похоже на математическое уравнение в вашей начальной школе, например, x = 5, где мы сохранили 5 в x. Мы можем изменить его ценность в соответствии с нашими потребностями. Например, мы можем заменить его значение на x = «name» или что угодно.

Некоторые правила объявления переменных:

  • Переменная может быть комбинацией букв нижнего регистра (от a до z), прописных (от A до Z), цифр (от 0 до 9) или символа подчеркивания (_).
  • Переменная не может начинаться с цифры. 1 переменная недопустима, но переменная 1 в порядке.
  • Ключевые слова нельзя использовать в качестве имени переменной.

Числа

В Dart есть два типа чисел:

  1. int:

В Dart значения int могут быть от -263 до 263–1.

2. двойной:

64-битные (двойной точности) числа с плавающей запятой, как указано в стандарте IEEE 754.

void main() {
  // Numbers: int and double
  int age = 22;
  double num = 10.5;
  print(age + num);
}

Нить

Строка Dart - это последовательность кодовых единиц UTF-16. Вы можете использовать одинарные или двойные кавычки для создания строки:

Вы можете поместить значение выражения в строку, используя ${expression}. Если выражение является идентификатором, вы можете пропустить {}.

void main() {
  // String and String iterpolation
  String name = “Rajesh Berwal”;
  print(‘My nname is $name and the length of the name with space is ${name.length}’);
}

Логический

Для представления логических значений у Dart есть тип с именем bool. Только два объекта имеют тип bool: логические литералы true и false.

void main() {
  // Boolean
  bool isWorking = true;
  print(“Are you working: ${isWorking}”);
  bool notWorking = false;
  print(“Are you working: ${isWorking}”);
}

Константы и финал

Если вы никогда не собираетесь изменять переменную, используйте final или const.

void main() {
  // Creating Constants
  /*
   -> final variable is only initialized when it’s accessed
   -> const variable is initialized at the compile time
   -> main difference const keyword get memory location at the compile time
   -> but final variable only when it is accessed
  */
  const daysInLeapYear = 366;
  print(‘Days in leap year: $daysInLeapYear’);
final pi = 3.14;
  print(pi);
}

Объявление переменной динамически

Переменные, объявленные без статического типа, неявно объявляются как динамические.

void main() {
  // We can also declare variable dynamically
  var something = “Somewhere”;
  print(something);
  var num = 5;
  print(num);
}

5. Операторы:

Арифметические операторы

Dart поддерживает обычные арифметические операторы, как показано в следующем примере:

void main() {
  print(2 + 3 == 5);
  print(2 - 3 == -1);
  print(2 * 3 == 6);
  print(5 / 2 == 2.5); // Result is a double
  print(5 ~/ 2 == 2); // Result is an int
  print(5 % 2 == 1); // Remainder
  print('5/2 = ${5 ~/ 2} r ${5 % 2}' == '5/2 = 2 r 1');
}

Операторы сравнения (отношения)

Вот пример использования каждого из операторов равенства и отношения:

void main() {
  print(2 == 2);
  print(2 != 3);
  print(3 > 2);
  print(2 < 3);
  print(3 >= 3);
  print(2 <= 3);
}

Логические (булевы) операторы

Вы можете инвертировать или комбинировать логические выражения с помощью логических операторов.

!expr            inverts the following expression (changes false to true, and vice versa)
||               logical OR
&&               logical AND

Вот пример использования логических операторов:

if (!done && (col == 0 || col == 3)) {
  // ...Do something...
}

Побитовые операторы

Вы можете управлять отдельными битами чисел в Dart. Обычно вы используете эти побитовые операторы и операторы сдвига с целыми числами.

&      AND
|      OR
^      XOR
~      exprUnary bitwise complement (0s become 1s; 1s become 0s)
<<     Shift left
>>     Shift right

Вот пример использования побитовых операторов и операторов сдвига:

void main() {
  final value = 0x22;
  final bitmask = 0x0f;
print((value & bitmask) == 0x02); // AND
  print((value & ~bitmask) == 0x20); // AND NOT
  print((value | bitmask) == 0x2f); // OR
  print((value ^ bitmask) == 0x2d); // XOR
  print((value << 4) == 0x220); // Shift left
  print((value >> 4) == 0x02); // Shift right
}

Операторы присваивания

Как вы уже видели, значения можно назначать с помощью оператора =. Чтобы назначить, только если присвоенная переменная имеет значение NULL, используйте оператор ??=.

// Assign value to a
a = value;
// Assign value to b if b is null; otherwise, b stays the same
b ??= value;

Операторы составного присваивания, такие как +=, объединяют операцию с присваиванием.

=    –=   /=    %=    >>=   ^=   +=    *=   ~/=     <<=   &=      |=

В следующем примере используются операторы присваивания и составного присваивания:

void main() {
  var a = 2; // Assign using =
  a *= 3; // Assign and multiply: a = a * 3
  print(a == 6);
}

Послушайте мой совет, если вы хотите стать лучшим разработчиком, тогда работайте над начальным сроком программирования, потому что синтаксис меняется в разных языках программирования, но концепции остаются прежними. Ускоренный курс разработан, чтобы помочь вам начать работу с языком программирования dart, чтобы вы могли быстрее создавать свои приложения. Для лучшего понимания изучите внутреннюю работу этого языка.

Чтобы лучше понять временную сложность программы, вы можете прочитать нашу статью: