Использовать var или val в kotlin android?

В каком случае мы должны использовать val вместо var? Я знаю, что val — это когда мы знаем, что значение не изменится. Но у меня сложилось впечатление, что var хорош для всех случаев. Это правда ? Другими словами: проблематично ли использовать только var?

Отвечает ли это на ваш вопрос? Вал и Вар в Котлине

MehranB 25.12.2020 18:06

Не совсем. Интересно, можем ли мы кодировать только с использованием var без плохих последствий. Я не вижу реальной полезности val.

jujuf1 25.12.2020 18:10

Если вы хотите, чтобы присваиваемая переменная оставалась постоянным значением и не могла быть случайно изменена в течение ее жизни, используйте val. Код имеет срок жизни, который может выходить за рамки только вас как сопровождающего. Если вы используете var для такого случая, неясно, какова должна быть цель использования значения.

Michael Krause 25.12.2020 18:10
val всегда предпочтительнее, если значение не нужно менять, потому что меньше возможностей для изменчивости делает общий дизайн проще и легче в обслуживании. А для общедоступных свойств var подразумевает, что при его изменении произойдет что-то полезное.
Tenfour04 25.12.2020 21:19
1
4
466
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Представьте, что у вас есть очень длинная функция, которая объявляет некоторые val в начале. Теперь вы сразу знаете, что его значение нигде не изменится в этом длинном теле кода. Если бы это был var, вам пришлось бы прочитать весь код, чтобы попытаться понять, что хранится в этой переменной в любой момент функции. Таким образом, цель val — упростить понимание сложного кода, дав понять, что это значение абсолютно никогда не изменится, и вам не нужно читать остальную часть кода, чтобы быть уверенным в этом.

это единственный плюс? мы должны использовать var (или java final) до тех пор, пока нам не понадобится изменить его значение, а ТОГДА вернуться и изменить его на var?

White_King 16.09.2021 23:53

Другие вопросы по теме