Junior
Vysvětlete, jak jsou v Kotlinu uspořádány balíčky a moduly.
sobes.tech AI
Odpověď od AI
Balíčky se používají k organizaci kódu, prevenci konfliktů jmen a zlepšení čitelnosti. Deklarují se klíčovým slovem package na začátku souboru.
Moduly jsou soubory Kotlin, build skripty, zdroje a nastavení projektu. Používají se pro kompilaci, spuštění, testování a nasazení. V projektech IntelliJ IDEA odpovídá modul IDE modulu; v Gradle je to hlavní nebo podprojekt.
Rozdíly:
- Úroveň organizace: Balíčky na úrovni zdrojového kódu, moduly na úrovni sestavení projektu.
- Účel: Balíčky pro logické seskupení kódu, moduly pro správu závislostí, kompilaci a nasazení.
- Hierarchie: Balíčky tvoří hierarchii pomocí teček (například
com.example.util), moduly mohou mít hierarchii (subprojekty v Gradle) nebo být nezávislé. - Závislosti: Závislosti jsou uváděny mezi moduly, nikoli mezi balíčky.
Příklad balíčku:
// Soubor: Util.kt
package com.example.util
fun formatName(firstName: String, lastName: String): String {
return "$firstName $lastName"
}
Použití balíčku:
package com.example.app
import com.example.util.formatName
fun main() {
val fullName = formatName("John", "Doe")
println(fullName)
}
Příklad struktury projektu s moduly (Gradle):
myproject/
├── app/ // Aplikační modul
│ ├── build.gradle.kts
│ └── src/
│ └── main/kotlin/com/example/app/Main.kt
└── util/ // Utility modul
├── build.gradle.kts
└── src/
└── main/kotlin/com/example/util/Util.kt
V souboru app/build.gradle.kts bude uvedena závislost na modulu util:
// app/build.gradle.kts
plugins {
kotlin("jvm")
}
dependencies {
implementation(project(":util")) // Závislost na modulu util
}