Was ist der Unterschied zwischen `use` und `extern crate` in Rust?
Hallo! Ich habe vor kurzem angefangen, Rust zu lernen, und bin bei den Importen verwirrt. In einigen Beispielen sehe ich `extern crate`, in anderen `use`. Zum Beispiel schreibe ich ein einfaches Programm, das die Crate `rand` verwendet, um Zufallszahlen zu generieren:
```rust
// Variante 1
extern crate rand;
use rand::Rng;
fn main() {
let mut rng = rand::thread_rng();
let n: u32 = rng.gen_range(1..101);
println!("Zufallszahl: {}", n);
}
```
Aber ich habe auch Code gesehen, wo `extern crate` gar nicht verwendet wird, sondern direkt `use` geschrieben wird:
```rust
// Variante 2
use rand::Rng;
fn main() {
let mut rng = rand::thread_rng();
let n: u32 = rng.gen_range(1..101);
println!("Zufallszahl: {}", n);
}
```
Beide Varianten funktionieren, aber ich verstehe nicht, worin der Unterschied liegt. Wann muss man `extern crate` schreiben und wann `use`?