Предположим, у меня есть файл Utils.kt, который будет содержать только некоторые служебные функции, классы, объекты. И предположим, что эти функции используют некоторый общий набор постоянных значений.Есть ли способ иметь постоянную постоянную файла в Kotlin
Так что я сделать что-то вроде этого:
package myapp
private val CONST1 = 1
private val CONST2 = 2
public fun function1() {}
public fun function2() {}
К сожалению Котлин лечит частный как «доступен для всего пакета». Таким образом, CONST1 и CONST2 доступны для всех файлов, находящихся в одном пакете. Единственный способ изолировать их - переместить этот файл в отдельный пакет.
Но что, если у меня есть несколько служебных файлов, подобных этому, каждый со своим набором private константы. Тогда у меня есть только два варианта: переместите каждый из них в уникальный пакет или сдадитесь, и у вас есть константы из всех доступных для всех.
В любом случае, кажется, создается беспорядок.
Любые варианты или рекомендации?
(UPD: на самом деле, я должен сказать, что это одна из тех редких вещей, которые беспокоят меня в Котлин - не способ сделать некоторые объект быть файл-местный (без использования некоторых синтаксических хаки): это либо доступно всем пакет или всем на всех)
UPD: Этот вопрос является устаревшим (см принятый ответ)
@JaysonMinard автор принятого ответа уже обновил его, чтобы отразить текущее состояние вещей – dimsuz
Хорошо, тогда я уронил другую ответ, так как он больше не нужен. –
/* kotlin programming */ – voddan