Cargo Crates.io
Verständnis
Optionen zur Kompilierungsoptimierung
// Filename: Cargo.toml // opt-level 为优化程度,0-3,越高编译时间越长,运行效率越快 [profile.dev] opt-level = 0 [profile.release] opt-level = 3Dokumentations-Strings
//! # My Crate //! //! `my_crate` is a collection of utilities to make performing certain //! calculations more convenient. /// Adds one to the number given. /// /// # Examples /// /// ``` /// let arg = 5; /// let answer = my_crate::add_one(arg); /// /// assert_eq!(6, answer); /// ``` pub fn add_one(x: i32) -> i32 { x + 1 }Dokumentation mit
cargo docerzeugen.//!beschreibt gewöhnlich ein gesamtes Crate oder Modul,///gewöhnlich eine Funktion.

Arbeitsbereiche
A workspace is a set of packages that share the same Cargo.lock and output directory
Damit lassen sich mehrere Module mit gleicher Funktion verwalten.
Sie teilen dieselbe Cargo.lock und dasselbe Ausgabeverzeichnis.
Sonstiges
cargo installinstalliert und verwendet Binary-Crates.
Quelle
https://doc.rust-lang.org/book/ch14-00-more-about-cargo.html
…
Cargo mit eigenen Befehlen erweitern
Cargo lässt sich durch neue Unterbefehle erweitern, ohne Cargo selbst zu ändern. Wenn eine Binärdatei in deinem $PATH cargo-something heißt, kannst du sie mit cargo something wie einen Cargo-Unterbefehl ausführen. Solche Befehle erscheinen auch in cargo --list. Mit cargo install Erweiterungen zu installieren und wie eingebaute Cargo-Werkzeuge auszuführen, ist ein großer Vorteil des Designs.
Zusammenfassung
Code mit Cargo und crates.io zu teilen, macht das Rust-Ökosystem für viele Aufgaben nützlich. Die Standardbibliothek ist klein und stabil; Crates lassen sich jedoch leicht teilen, verwenden und unabhängig von der Sprache weiterentwickeln. Nützlichen Code auf crates.io zu veröffentlichen, lohnt sich wahrscheinlich auch für andere.