Ny Kotlin med when-sætning, der tjekker helligdagene

Ny Kotlin med when-sætning, der tjekker helligdagene
Illustration: Bigstock/REDPIXEL.PL.
Version 1.6 af Jetbrains' sprog kommer med nye sprogfaciliteter og hukommelseshåndtering til native.
23. november 2021 kl. 10:15
errorÆldre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

En ny udgave af JVM-sproget Kotlin har set dagens lys, og den er fuld af nyheder. Det skriver sprogets marketingchef Alina Grebenkina fra Jetbrains i et blogindlæg.

En ny sprogfacilitet er en when-sætning, der holder styr på, at alle muligheder i en forseglet klasse er udtømt. En forseglet klasse er - lidt i stil med samme facilitet i de seneste Java-udgaver - en klasse, der udpeger sine mulige facetter.

Det er nemmest at forstå med et eksempel, hentet fra blogindlægget. Man kunne modellere forskellige måder at håndtere kontakter på, på denne facon:

  1. sealed class Contact {
  2. data class PhoneCall(val number: String) : Contact()
  3. data class TextMessage(val number: String) : Contact()
  4. data class InstantMessage(val type: IMType, val user: String) :
  5. Contact()
  6. }

When-sætningen findes allerede i en mere begrænset version. Med den udvidede when-sætning sikres det, at der så at sige er malet i alle kroge - at alle muligheder i en forgrening er udtømt:

  1. fun Rates.computeMessageCost(contact: Contact): Cost =
  2. when (contact) { // ERROR: 'when' expression must be exhaustive
  3. is Contact.PhoneCall -> phoneCallCost
  4. is Contact.TextMessage -> textMessageCost
  5. }

JVM-platformen

Java er et programmeringsprog med en tilhørende virtuel maskine (VM), som benyttes til at afvikle programmer kompileret til byte-kode, en slags virtuelle cpu-instruktioner.

Andre sprog kan også kompileres til byte-kode, og denne verden omtales undertiden som JVM-platformen. Mange af disse sprog kan også benytte biblioteker skrevet i Java.

Ud over Java og Kotlin byder platformen på mange andre sprog, såsom Scala, Groovy og Clojure.


Hvis Contact-klassen udvides med en ny kontakt-mulighed senere, og man glemmer at håndtere den i forgreningen, får man en fejlmeddelelse.

Artiklen fortsætter efter annoncen

Blandt andre nyheder er eksperimentel hukommelseshåndtering for Kotlin Native, der compiler programmer i sproget til systemkode, som eksekverbare filer.

Den nye hukommelsesstyring ophæver de eksisterende restriktioner for objektdeling mellem tråde og kræver ikke annotationer i koden for at undgå lækager.

I samme boldgade er det nu muligt at compile til Windows med Mingw-miljøet på alle platforme.

Ingen kommentarer endnu.  Start debatten
Debatten
Log ind for at deltage i debatten.
settingsDebatindstillinger