<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Hello, Cargo! [Cargo](http://crates.io/)是一個用來幫助Rustacean們管理Rust項目的工具。和Rust一樣Cargo仍處于Alpha階段,正在開發中。不過,對于許多Rust項目來說它已經足夠用了,并且我們假設這些Rust項目將會從一開始就使用Cargo。 Cargo管理3個方面:構建你的代碼,下載你代碼所需的依賴和構建這些依賴。最開始,你的項目沒有任何依賴,所以我們只使用它的第一部分機能。最終,我們會添加更多依賴。因為我們從一開始就使用Cargo,這將有利于我們后面添加依賴。 如果你通過官方安裝器安裝的Rust的話,你已經擁有了Cargo。如果你用的其它方式安裝的Rust,你可能需要[查看Cargo README](https://github.com/rust-lang/cargo#installing-cargo-from-nightlies)獲取特定的腳本安裝Cargo。 ## 轉換到Cargo 讓我們將Hello Wold項目轉換到Cargo。 你需要做兩件事來Cargo化我們的項目:創建一個`Cargo.toml`配置文件;將我們的源文件放到正確的地方。讓我們先做移動文件那部分: ~~~ $ mkdir src $ mv main.rs src/main.rs ~~~ 注意因為我們創建了一個可執行文件,我們用了`main.rs`。如果我們想要創建一個庫,我們應該使用`lib.rs`。入口點自定義的文件位置可以通過下面描述的TOML文件的[`[[lib]]`或`[[bin]]`]([http://doc.crates.io/manifest.html#configuring-a-target)部分指定。](http://doc.crates.io/manifest.html#configuring-a-target)部分指定。) Cargo期望你的源文件位于`src`目錄下。這樣將項目根目錄留給像README,license信息和其它與代碼無關的文件。Cargo幫助我們保持項目干凈整潔。一切各得其所。 接下來,我們的配置文件 ~~~ $ editor Cargo.toml ~~~ 請確保文件名正確:你需要一個大寫的C! 在配置文件中添加: ~~~ [package] name = "hello_world" version = "0.0.1" authors = [ "Your name " ] ~~~ 配置文件使用[TOML](https://github.com/toml-lang/toml)格式。讓我們向你解釋一下: > TOML旨在作為一個最小化的配置文件格式,明確的語義,易于閱讀。TOML被設計成可以無二義地映射到哈希表中。TOML應該能輕易解析成許多類型語言的數據類型。 TOML非常像INI文件,不過有一些其它優點。 一旦你設置好了配置文件,我們應該可以構建了!試試這些: ~~~ $ cargo build Compiling hello_world v0.0.1 (file:///home/yourname/projects/hello_world) $ ./target/hello_world Hello, world! ~~~ OK!我們運行`cargo build`構建了項目,并用`./target/debug/hello_world`運行了它。我們可以用`cargo run`一步到位: ~~~ $ cargo run Running `target/debug/hello_world` Hello, world! ~~~ 注意這次我們并沒有重新構建項目。Cargo注意到我們并未改變源文件,所以它只是運行了二進制文件。如果我們做了一個修改,我將會看到兩個都做了: ~~~ $ cargo run Compiling hello_world v0.0.1 (file:///home/yourname/projects/hello_world) Running `target/debug/hello_world` Hello, world! ~~~ 這并沒有比簡單的使用`rustc`給我們帶來了多少方便,不過想象一下未來:當我們的項目變得更復雜,我們將需要更多的工作來讓所有的部分能夠編譯。通過Cargo,隨著我們的項目增長,你可以只是`cargo build`,這樣它就能正常工作。 當你的項目最終準備好發布了,我們可以使用`cargo build --release`來開啟優化并編譯你的項目。 你還需要注意到Cargo創建了一個新文件:`Cargo.lock`。 ~~~ [root] name = "hello_world" version = "0.0.1" ~~~ 這個文件被Cargo用來記錄你程序中的依賴。現在,我們沒有任何依賴,所以它的內容比較少。我們永遠也不需要自己修改這個文件,讓Cargo處理這些。 好了!我們成功利用Cargo構建了`hello_world`。雖然我們的項目很簡單,但它用上許多實際的工具,你將會在余下的Rust生涯中一直使用。你可以期望這么做來開始幾乎所有的Rust項目。 ~~~ $ git clone someurl.com/foo $ cd foo $ cargo build ~~~ ## 一個新項目 你不需要每次創建項目時都把這些操作整個做一遍。Cargo能夠生成一個你可以直接進行開發的骨架項目目錄。 用Cargo開始一個新項目,運行`cargo new`: ~~~ $ cargo new hello_world --bin ~~~ 我們傳遞了一個`--bin`參數因為我們要構建一個二進制程序:如果你想創建一個庫文件則不需要這個參數。 讓我們看看Cargo為我們生成了什么: ~~~ $ cd hello_world $ tree . . ├── Cargo.toml └── src └── main.rs 1 directory, 2 files ~~~ 如果你沒有`tree`命令,你應該能從你發行版的包管理軟件中下載一個。這雖然不是必須的,但確實很有用。 這就是開始時所需的全部。首先,讓我們查看下`Cargo.toml`: ~~~ [package] name = "hello_world" version = "0.0.1" authors = ["Your Name "] ~~~ Cargo根據你傳遞的參數和git全局配置生成了合理的默認信息。你可能注意到了Cargo已經將`hello_world`目錄初始化為了一個`git`倉庫。 下面是`src/main.rs`的內容: ~~~ fn main() { println!("Hello, world!"); } ~~~ Cargo已經為我們生成了一個”Hello World!“,你可以進行coding了。你可以在[這里](http://doc.crates.io/guide.html)獲取一個更加深入的教程。 現在你學會了Cargo,讓我們著手學習Rust語言吧。這是一些你使用Rust會一直用的到的基礎。 (現在)你有兩個選擇:在“[學習Rust](http://kaisery.gitbooks.io/rust-book-chinese/content/content/3.Learn%20Rust%20%E5%AD%A6%E4%B9%A0Rust.md)”中深入一個項目,或者自底向上學習“[語法和語義](http://kaisery.gitbooks.io/rust-book-chinese/content/content/5.Syntax%20and%20Semantics%20%E8%AF%AD%E6%B3%95%E5%92%8C%E8%AF%AD%E4%B9%89.md)”,這樣來自不同背景的同學可能會樂在其中。不同的人又不同的學習方式!選擇最適合你的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看