Sobes.tech
Middle

Mi az a Never típus a Dart nyelvben?

sobes.tech MI

Válasz az MI-től

A Never típus azt jelzi, hogy egy kifejezés soha nem fog sikeresen befejeződni. Olyan függvényekhez és metódusokhoz használják, amelyek vagy kivételt dobnak, vagy végtelen ciklusba lépnek.

Használati példák:

  • Kivételt dobó függvény:

    Never _throwError(String message) {
      // Kivételt dob, a függvény soha nem ad vissza értéket
      throw StateError(message);
    }
    
  • Végtelen ciklusú függvény:

    Never _infiniteLoop() {
      // Végtelen ciklusba lép, a függvény soha nem ér véget
      while (true) {
        // Valamit csinál
      }
    }
    

A Never fő előnye, hogy segít a fordítónak megérteni, hogy az ilyen függvény vagy metódus hívása után a kód elérhetetlen, ami lehetővé teszi statikus elemzést a potenciális hibák, például elérhetetlen kód és helytelen hibakezelés felismerésére.

A void-tól eltérően, ami azt jelzi, hogy a függvény nem ad vissza értéket (de sikeresen befejeződik), a Never azt jelenti, hogy a függvény soha nem fog befejeződni alapvetően.

// Függvény, amely void-ot ad vissza (sikeresen befejeződik, de érték nélkül)
void doSomething() {
  print('Valamit csinálok');
}

// Függvény, amely Never-t ad vissza (soha nem fejeződik be sikeresen)
Never crashAndBurn() {
  throw 'Ó, nem!';
}

A Never típus alsó típus (bottom type), vagyis bármely más típus al-típusa. Ez lehetővé teszi, hogy egy Never-t visszaadó függvényt olyan helyeken használjunk, ahol bármilyen más típus várható.