Size: a a a

Flutter Developers — русскоговорящее сообщество

2021 March 09

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Roman
А что за Null с большой буквы? Для чего он? Чисто для сравнения?
Null  это тип null)
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
null это единственный экземпляр типа Null
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Причем тип Null является Object, потому что он Type, а вот его экземпляр уже нет
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Также обрати внимание, что вообще все есть dynamic
источник

R

Roman in Flutter Developers — русскоговорящее сообщество
Вспоминаются приколюхи котлина с Unit и Nothing)
источник

R

Roman in Flutter Developers — русскоговорящее сообщество
Как вообще налл-сейфти? Геморно проект переводить?
источник

V

Victor in Flutter Developers — русскоговорящее сообщество
в общем я не понимаю генераторы)
и пока не пойму юзать их стремно
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
собственно Object отличает от dynamic двумя вещами:

1) вообще все есть dynamic, включая null, а Object все кроме null
2) у dynamic ты можешь вызывать любой метод и получить ошибку только в рантайме, а у Object только методы Object (методы что есть у всех - toString и noSuchMethod)
источник

V

Victor in Flutter Developers — русскоговорящее сообщество
можно запросто перформанс убить и не понять как
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Roman
Как вообще налл-сейфти? Геморно проект переводить?
Нет, видишь комменты у меня?

В самом верху есть // @dart=2.9.
Вот если в main в самом верху это напишешь (лучше // @dart=2.11), у тебя проект будет работать в режиме unsound null safety
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
В этом режиме ты можешь писать нон наллабл код и использовать вперемешку наллабл и нон наллабл пакеты
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну и можешь индивидуально в файлах проставить такие аннотации
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
а также есть утилита migrate, помогающая с миграцией, о ней рассказывали на флатер энгейдже, кста
источник

R

Roman in Flutter Developers — русскоговорящее сообщество
Victor
https://dartpad.dev/4b8b8368bc4091c498e0f05996f36f01?null_safety=true
я вот это не понимаю в генераторах, почему тут растет внешний счетчик
ведь по идее значение уже закешировано, а сайд эффект все равно срабатывает снова
Ну так у тебя счётчик накручивается в бесконечном цикле
источник

V

Victor in Flutter Developers — русскоговорящее сообщество
Roman
Ну так у тебя счётчик накручивается в бесконечном цикле
ну так я уже ж получал элемент по индексу 0, 1 и тд
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну вот тебе вопрос на засыпку, с новым синтаксисом late, знакомым из котлина наверн
источник

V

Victor in Flutter Developers — русскоговорящее сообщество
каждую секунду билд снова их получает
источник

V

Victor in Flutter Developers — русскоговорящее сообщество
и выходит что он не закешировал результат как я ожидал, а вычисляет опять
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
По сути late int a = _evalA();
аналогичен

int? _a;
int get a => _a ??= _evalA();
источник

V

Victor in Flutter Developers — русскоговорящее сообщество
хм, а late может иметь начальное значение? выглядит странно
источник