W języku Java pakiet java.lang
jest importowany domyślnie.
W kotlin wiele funkcji i klas jest dostępnych bez importowania, takich jak typy println
i kotlins Array
, Int
itp.
Co jeszcze jest importowane domyślnie i gdzie jest zdefiniowane?Jakie pakiety/funkcje są domyślnie importowane w Kotlin?
Odpowiedz
Kotlet stdlib ma pakiet główny kotlin
i jego podpakiety (see the full list with the content).
Wydaje się nie być udokumentowane w dowolnym miejscu, które z nich są importowane domyślnie, ale peek into Kotlin Github sources sugeruje, że pakiety te są importowane do JVM Platforma docelowa:
java.lang.*
kotlin.*
kotlin.annotation.*
kotlin.jvm.*
kotlin.collections.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*
kotlin.io.*
kotlin.coroutines.*
(należy dodać Kotlin 1.1, obecnego w 1.0.4)
ja je ręcznie testowane i powyższa lista jest prawdziwa dla Kotlin 1.0.4. I te pakiety są stdlib nie importowane domyślnie:
kotlin.comparisons.*
kotlin.concurrent.*
kotlin.properties.*
kotlin.reflect.*
kotlin.reflect.jvm.*
kotlin.system.*
Jak zanotowano @Magnus, domyślny import dla platformy JS are different.
Oficjalna dokumentacja do listy domyślnych importu Kotlin (która prawdopodobnie będzie zmiana z nowymi wersjami języka) jest tutaj: https://kotlinlang.org/docs/reference/packages.html#default-imports
dzień 11.02.2018 zawiera następujące elementy:
- Kotlin. *
- kotlin.annotation. *
- kotlin.collections. *
- kotlin.comparisons. * (Od 1..... 1)
- kotlin.io *
- kotlin.ranges *
- kotlin.sequences *
- kotlin.text *
Dodatkowe pakiety są importowane w zależności od platformy docelowej:
JVM.
- java.lang *
..- kotlin.jvm *
JS:
- kotlin.js *
Chociaż ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać odsyłacz do odniesienia. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ opinia/niskiej jakości-posts/18785659) –
Zmieniono odpowiedź na obie. –
- 1. Jakie są przypadki użycia właściwości inline Kotlin?
- 2. Jakie są zalety języka programowania Kotlin?
- 3. Jakie są ścieżki, które "wymagają" domyślnie wyszukuje?
- 4. Jakie czcionki są domyślnie instalowane w systemie Android?
- 5. Jakie jest przeznaczenie @JvmSynthetic w Kotlin?
- 6. Co to są "Importowane identyfikatory UTI" w Xcode 4?
- 7. Jakie interfejsy domyślnie obsługują C#?
- 8. Tablice asocjacyjne są domyślnie lokalne.
- 9. Jakie są możliwe wartości, które można podać do `@ Suppress` w Kotlin?
- 10. Jakie są sekundy w regionie?
- 11. Jakie są rzeczywiste zalety wzoru gościa? Jakie są alternatywy?
- 12. Porównanie NaN w Kotlin
- 13. Jakie są "prymitywne" akcesory w danych podstawowych?
- 14. Jakie są zalety coroutines?
- 15. Jakie są domyślne repozytoria?
- 16. Jakie są poziomy DOM?
- 17. Jakie są zalety VistaDB
- 18. Jakie są zalety JRebel?
- 19. Jakie jest uzasadnienie projektu między GCC eksportujące wszystkie symbole domyślnie vs MSVC domyślnie nie eksportujących?
- 20. Jakie są ogólne wskazówki, jak zmniejszyć rozmiar pliku wykonywalnego Pyinstaller
- 21. Jakie są zalety NSBinaryStoreType?
- 22. Jakie są alternatywy ClickOnce?
- 23. Jakie są chińskie kodowanie?
- 24. Warunkowo importowane częściowe - Kompas
- 25. importowane, ale niezdefiniowane? Idź
- 26. CMake importowane zachowanie biblioteki
- 27. Ukryj importowane moduły do interpretera
- 28. Są domyślnie typem algebry danych haskell?
- 29. Dlaczego gniazda wykrywacza sygnałów są domyślnie silne
- 30. Czy instancje wyliczeń są statyczne domyślnie?
Znaleziony odpowiedniego źródła Kotlin - zaktualizowane odpowiedź. – hotkey
Warto zauważyć, że platforma JS ma również nieco inny import https://github.com/JetBrains/kotlin/blob/383b7f89a6101fd9b2db417f52e3df27781718c5/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsPlatform.kt – Magnus