Załóżmy, że mam plik Utils.kt, który będzie zawierał tylko niektóre funkcje narzędzia, bez klas, bez obiektów. Załóżmy, że te funkcje używają jakiegoś wspólnego zestawu stałych wartości.Czy istnieje sposób na zachowanie stałej pliku prywatnego w Kotlin
Więc zrób coś takiego:
package myapp
private val CONST1 = 1
private val CONST2 = 2
public fun function1() {}
public fun function2() {}
Niestety Kotlin traktuje prywatną jako "dostępne do całego pakietu". Zatem CONST1 i CONST2 są dostępne dla wszystkich plików, które znajdują się w tym samym pakiecie. Jedynym sposobem ich odizolowania jest przeniesienie tego pliku do osobnej paczki.
Ale co jeśli mam kilka takich plików narzędziowych, każdy z własnym zestawem stałych prywatnych stałych. Wtedy mam tylko dwie opcje: przenieś każdy z nich do unikalnego pakietu lub poddaj się i wszystkie stały z nich są dostępne wszędzie.
Tak czy inaczej, wydaje się, że tworzy się bałagan.
Wszelkie opcje lub porady?
(upd: w rzeczywistości, muszę powiedzieć, że jest to jedna z tych rzeczy, które przeszkadzają mi w Kotlin - nie ma możliwości, aby jakiś byt był lokalny dla pliku (bez użycia niektórych haseł składniowych): jest dostępny albo w całości pakiet lub do wszystkich w ogóle)
UPD: to pytanie jest już nieaktualne (patrz odpowiedź zaakceptowane)
@JaysonMinard autor zaakceptowanej odpowiedzi już zaktualizował ją, aby odzwierciedlić obecny stan rzeczy – dimsuz
Dobrze, a następnie upuściłem drugą Odpowiedź Ponieważ nie jest już potrzebna, –
/* kotlin programowanie */ – voddan