Size: a a a

Dart & Flutter по-русски

2021 April 14

SH

Sergey Hottabych in Dart & Flutter по-русски
Собери тестик в дартпаде и проверь.
источник

SH

Sergey Hottabych in Dart & Flutter по-русски
Недоверчивый ты наш.
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
А пример можно какой-то? Кастомные объекты могут иметь методы, которые изменяют инстанс. Инты и булеаны имеют методы, которые возвращают новые значения.
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Как проявляется?)
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Просто присвоением в параметр?
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Это скорее всего неправильно понятное поведение кода
источник

SH

Sergey Hottabych in Dart & Flutter по-русски
Держи пример:
void main() {  
 var list = [1, 2, 3];
 add(list);
 print(list);
}

void add(List list) {
 list.add(4);
}

забей в дартпад и посмотри
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
А в чем проблема? Все по ссылке передалось
источник

SH

Sergey Hottabych in Dart & Flutter по-русски
Проблемы нет, просто не пойму, почему это не документировано нигде.
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Ошибки нет
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Оно никак не проявляется
источник

KB

Kirill Bubochkin in Dart & Flutter по-русски
ты путаешь pass by reference и pass by value the reference. Dart всегда использует pass by value the reference.
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Скорее всего
источник

SH

Sergey Hottabych in Dart & Flutter по-русски
Ну а вот другой пример:
void main() {  
 String s = 'aaa';
 changeStr(s);
 print(s);
}

void changeStr(String s) {
 s.toUpperCase();
}

и выведет aaa
источник

SH

Sergey Hottabych in Dart & Flutter по-русски
То есть, строка передается по значению, а не по ссылке
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Ну так этот метод же иммутабельный
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Он возвращает новую строку
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
А не меняет старую
источник

MS

Mykola Shevchenko in Dart & Flutter по-русски
Проверь лучше это
void main() {  
 String s = 'aaa';
 print(s);
 print(s.toUpperCase());
 print(s);
}
источник

AP

Akbar Põlatov in Dart & Flutter по-русски
источник