Avatar ·

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`?