Sobes.tech
Middle

Na čo je trieda Nothing?

sobes.tech AI

Odpoveď od AI

Nothing — je dátový typ, ktorý nemá hodnoty. Je užitočný, keď je potrebné označiť absenciu návratovej hodnoty alebo že vykonávanie kódu nikdy nedosiahne určitý bod.

Príklady:

  • V lambda výrazoch, ktoré vždy vyvolajú výnimku: Kompilátor chápe, že kód za takýmto lambda je nedosiahnuteľný.

    fun fail(message: String): Nothing {
        throw IllegalStateException(message)
    }
    
    val x = fail("Niečo sa pokazilo") // x má typ Nothing
    println("Táto riadok sa nikdy nevykoná")
    
  • Ako typ návratu pre funkcie, ktoré sa nikdy normálne neskončia: Napríklad nekonečný cyklus.

    fun loopForever(): Nothing {
        while (true) {
            // Nekonečný cyklus
        }
    }
    
  • Pre presnejšie typovanie v všeobecných funkciách: Ukazuje, že typ nemôže byť inštancovaný.