В разделе « Свойства и поля справки котлина» написаны следующие примеры:
var allByDefault: Int? // ошибка: требуется явный инициализатор, подразумевается геттер по умолчанию и сеттер
Тем не менее, я проверяю код, и нет ошибок при компиляции и запуске. Вот мой код "
fun main(args:Array<String>){ var allByDefault:Int? }
Итак, почему в документации написано:
error: требуется явный инициализатор, подразумевается геттер по умолчанию и сеттер
Я искал Google для справки, но не нашел результата, который может мне помочь.
Ответ @toniedzwiedz решил проблему. Это моя вина. Я принял свойство и переменную.
fun main(args:Array<String>){ var allByDefault:Int? }
Здесь у вас есть var
local для main
метода, а не для свойства.
class MyClass { //this is a property of MyClass that requires some means of initialization var allByDefault: Int? // Error: Property must be initialized or be abstract fun foo() { var local: Int? // this is a local variable defined in the scope of foo, which is fine // ... } }
Связанная документация связана с такими свойствами класса, как здесь:
class X { var allByDefault: Int? // error }
Это не работает, свойство должно быть инициализировано.