Я действительно хочу знать, почему Котлин использует слово val
для постоянных постоянных?
Если var
означает переменную. val
означает что? val
означает var
+ l
или val
– это всего лишь одно слово для краткости?
В документации Котлина мы имеем только следующие слова.
Локальные переменные только для чтения объявляются с использованием ключевого слова val. Mutable локальные переменные объявляются с использованием ключевого слова var.
- Kotlin Back-Tick в именах методов: как это работает?
- Как отладить «ошибку SQL (запрос) или отсутствующую базу данных» в приложении для Android?
- Почему я получаю: null не может быть применен к непустому типу android.widget.SearchView?
- Как преобразовать intArray в ArrayList <Int> в Котлин?
- Как я могу реплицировать несколько первичных конструкторов?
Этот вопрос состоит не только в том, чтобы понять смысл слова val
, но и напомнить СЛОВОМ МАКЕРА, чтобы сказать нам, почему они называют это слово, это не мелочь, это сделает нас более удобными для изучения нового знания, мы хотим учиться и понимать все.
Например, многие люди хотят знать, почему Swift использует слово let
или почему Objective-C использует расширение .m
файла?
Я думаю, что официальная документация или ответ действительно важны, любая догадка или предположение не очень полезны, потому что это не убедительно, запутанное будет по-прежнему запутанным.
Я также задал этот вопрос на официальном форуме:
https://discuss.kotlinlang.org/t/why-kotlin-use-the-word-val-to-stand-for-constant/4491
Некоторые ссылки:
https://discuss.kotlinlang.org/t/change-val-to-something-else/1180/13
value
val
означает value
Это значение, доступное только для чтения.
var
– изменяемое значение
const
, с другой стороны, не будет на 100% правильной. Значение PI (3.14 ..) является константой. Его ценность никогда не меняется. Значение x
в этой строке val x = random.nextInt()
будет (надеюсь) всегда отличаться, но вы хотите, чтобы значение не val x = random.nextInt()
в функции. Таким образом, ключевое слово val
вполне уместно.
ключевое слово val
– это только одно слово. аббревиатура для val
не найдена нигде. Ваш вопрос объясняет, что такое val
.
Локальные переменные только для чтения объявляются с использованием ключевого слова val. Mutable локальные переменные объявляются с использованием ключевого слова var.
Здесь сайт объясняет, почему val
является Read-only и не является неизменным.
http://blog.danlew.net/2017/05/30/mutable-vals-in-kotlin/
val не означает неизменяемость, val означает только чтение. Это означает, что вам не разрешено явно писать в val, но это не гарантирует, что они неизменяемы
https://artemzin.com/blog/kotlin-val-does-not-mean-immutable-it-just-means-readonly-yeah/
Kotlin позволяет вам объявлять get () из val, который нарушает неизменность свойства и оставляет только разрешение на чтение для внешних «пользователей».
Синтаксис Котлина вдохновлен Scala. В Котлине помимо синтаксиса взяты некоторые идеи от Scala. Котлин также добавляет вещи сам по себе и делает некоторые вещи совсем по-другому, чем Scala (т. Е. Не подразумевается преобразование в Kotlin по сравнению с Scala). Короче говоря: вы должны спросить ребята из Scala, почему они выбрали комбинацию ключевых слов var и val.