Warum gibt das Entfernen von return einen Fehler aus: erwarteter Typ `()`, aber gefundener Typ

Ich schreibe eineis_prime funktioniere in rust und ich hatte den eindruck das einfach zu schreibentrue war das Äquivalent vonreturn true;Dies ist jedoch in meiner Funktion nicht der Fall:

fn is_prime(number: i64) -> bool {
    for i in 2i64..number {
        if number % i == 0 && i != number {
            false
        }
    }
    true
}

Dies wird mir den Fehler geben:

error[E0308]: mismatched types
 --> src/lib.rs:4:13
  |
4 |             false
  |             ^^^^^ expected (), found bool
  |
  = note: expected type `()`
             found type `bool`

Ersetzentrue undfalse mitreturn true; / return false; funktioniert, aber warum wird die vorherige nicht kompiliert?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage