extern crate fooGibt an, dass Sie eine Verknüpfung zu einer externen Bibliothek herstellen möchten, und bringt den Kistennamen der obersten Ebene in den Gültigkeitsbereich (entspricht use foo). Ab Rust 2018 müssen Sie in den meisten Fällen nicht extern cratemehr verwenden, da Cargo den Compiler darüber informiert, welche Kisten vorhanden sind. (Es gibt ein oder zwei Ausnahmen )
use bar ist eine Abkürzung für die Referenzierung vollqualifizierter Symbole.
Theoretisch ist die Sprache nicht brauchen use - man kann immer nur voll qualifizieren , die Namen, aber Typisierung std::collections::HashMap.new(...)wäre sehr langweilig bekommen! Stattdessen können Sie nur use std::collections::HashMapeinmal eingeben und werden dann darauf HashMapverweisen.
extern crate foo;? Kisten und Module sind separate Konzepte in Rust. Vielleicht möchten Sie einen Blick auf "Grundlegende Terminologie: Kisten und Module" werfen , der den Unterschied zwischen den beiden erklärt (ich persönlich finde die folgenden Beispiele jedoch sehr ausführlich).