Основы Dart
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Основы Dart

Если вы подумали, что у переменной myRecord будет тип записи (String), то спешу вас разочаровать: print(myRecord.runtimeType); // String print(myRecord); // -_- В итоге получилась обычная строка! Чтобы не допускать такие ошибки, лучше всегда за последним элементом объявляемой записи ставьте запятую:
1 Ұнайды
Комментарий жазу
Ali Muradov
Ali Muradovдәйексөз келтірді1 жыл бұрын
1. Dart Native. Используется для приложений, разрабатываемых под мобильные устройства и персональные компьютеры с различными типами операционных систем. Сюда входит как виртуальная машина Dart с JIT-компиляцией, так и опережающий компилятор (AOT) для создания машинного кода. Виртуальная машина Dart с JIT-компилятором используется в процессе разработки приложений и предоставляет разработчику возможность горячей перезагрузки приложения (нет необходимости компилировать приложение снова и запускать его), сбора различных метрик в реальном времени и т.д. Когда же приложение готово к развертыванию на целевой платформе или его загрузке в магазин для последующего скачивания пользователем, компилятор Dart AOT обеспечивает опережающую компиляцию в машинный код ARM или x64. Скомпилированный AOT код выполняется внутри среды выполнения Dart, где также присутствует сборщик мусора, в котором применяется подход на основе поколений. 2. Dart Web. Используется для приложений, ориентированных на Интернет. В этом случае также применяются два вида компиляторов Dart. Первый (dartdevc) используется только в процессе разработки, а второй (dart2js) — для окончательной сборки приложения перед его развертыванием. Оба компилятора переводят пользовательский код, написанный на Dart, в JavaScript. Рис. 1.1. Структура платформы языка программирования Dart (BSD-3-Clause license, https://github.com/dart-lang/sdk) Dart — однопоточный язык программирования, что накладывает ряд ограничений. Да, есть возможность писать асинхронный код, но привычного по другим языкам класса Thread здесь нет. Вместо него используется понятие «изолят» (isolate). В отличие от обычного потока изоляты не разделяют общую память, а взаимодействовать друг с другом могут с помощью сообщений. У Dart есть свой менеджер пакетов — pub, который позволяет устанавливать существующие в хранилище пакеты. В большинстве случаев нет надобности взаимодействовать с ним напрямую. Достаточно просто прописать в виде зависимости проекта пакет, который необходимо установить, в файл pubspec.yaml. Обязательным требованием к запускаемому приложению является наличие функции верхнего уровня main, выступающей в роли точки входа (запуска) для разрабатываемого приложения. При этом аналогично таким языкам программирования, как C++, С#, Java и т.д., каждая команда в коде завершается символом точки с запятой (;).
1 Ұнайды
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
var myStr = 'Hello, world!'; print(myStr.isEmpty); // false print(myStr.isNotEmpty); // true myStr = ''; print(myStr.isEmpty); // true print(myStr.isNotEmpty); // false
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
var s1 = "Мама мыла рамы"; print(s1.split(' ')); // [Мама, мыла, рамы] print(s1.split('л')); // [Мама мы, а рамы] print(s1.split('мыла')); // [Мама , рамы]
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
var s1 = "Мама мыла рамы"; print(s1.replaceAll('мы', 'ру')); // Мама рула рару print(s1.replaceAll('м', 'н')); // Мана ныла раны print(s1.replaceFirst('м', 'М')); // МаМа мыла рамы
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
var s1 =' Ma ma '; print(s1.trimLeft()); //Ma ma print(s1.trim()); //Ma ma print(s1.trimRight()); // Ma ma
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
var s1 = 'Мама мыла две рамы'; print(s1.indexOf('м')); // 2 print(s1.lastIndexOf('м')); // 16 print(s1.indexOf('м', 6)); // 16 print(s1.indexOf ('М', 6)); // -1, так как символ не найден (6 - > длина строки) print(s1.lastIndexOf ('М', 6)); // 0, так как поиск начинается с конца (6 - > 0)
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
print(s1.contains('В', 11)); // RangeError: Invalid value: // Not in inclusive range 0..10
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
print(s1.contains('В')); // true print(s1.contains('В',0)); // true print(s1.contains('В',1)); // false
Комментарий жазу
olegator
olegatorдәйексөз келтірді3 апта бұрын
var s1 = 'Вот те на!'; print(s1.contains('е')); // true print(s1.contains('на')); // true print(s1.contains('-_-')); // false
Комментарий жазу