首頁  >  文章  >  科技週邊  >  有了GPT+Copilot,學習 Rust 直接起飛

有了GPT+Copilot,學習 Rust 直接起飛

WBOY
WBOY轉載
2024-01-11 19:27:18861瀏覽

大家好,我是漁夫。

Rust 前中期學習曲線稍陡,但如今有 AI 輔助,學習程式語言不再那麼困難。利用 GPT 提問,你能快速解決問題。

例如,我想讀一個 CSV 文件,直接上 GPT 去諮詢。

有了GPT+Copilot,学习 Rust 直接起飞

它連 csv 裡面的內容都給你生成了,這效率真高啊。

首先,我們來新增外部套件: 使用csv和serde套件。這些包可以透過在你的Cargo.toml檔案中添加它們來引入。

也可以選擇,命令列新增:

cargo add serde --features derivecargo add csvcargo add serde --features derive

新增後,我們嘗試遍歷這個檔案是否真的存在資料。

程式碼如下:

use csv::Reader;use std::error::Error;const CSV_PATH: &str = "./large_file.csv";fn main() -> Result<(), Box<dyn Error>> {let mut rdr = Reader::from_path(CSV_PATH)?;for result in rdr.records() {let record = result?;println!("{:?}", record);}Ok(())}

運行結果,還真幫產生這些資料。

cargo runFinished dev [unoptimized + debuginfo] target(s) in 0.04s Running `target/debug/rust-demo9`StringRecord(["Alice", "30", "New York"])StringRecord(["Bob", "25", "Los Angeles"])StringRecord(["Charlie", "35", "Chicago"])StringRecord(["David", "40", "Houston"])StringRecord(["Eve", "28", "Philadelphia"])StringRecord(["Frank", "33", "Phoenix"])StringRecord(["Grace", "22", "San Antonio"])StringRecord(["Henry", "45", "San Diego"])StringRecord(["Ivy", "29", "Dallas"])StringRecord(["Jake", "38", "San Jose"])% 

如果我想只讀取Age 這列的數據,直接上GPT諮詢,都能幫你解決掉,甚至代碼的每一行,都可以讓他幫你解釋清楚,這初學者幫助肯定很大的。

use csv::Reader;use std::error::Error;const CSV_PATH: &str = "./large_file.csv";fn main() -> Result<(), Box<dyn Error>> {let mut rdr = Reader::from_path(CSV_PATH)?;for result in rdr.records() {let record = result?;println!("{}", record.get(1).unwrap_or_default());}Ok(())}

如果我想取得第三列數據,還可以直接在vscode 裡面諮詢GitHub Copilot,覺得沒有問題可以直接點擊Accept 引用它提供給你的程式碼,在基礎修改也是非常方便的,但部分基礎程式碼和重複的程式碼可以交給 Copilot 自動幫你生成,效率上也提升不少。

有了GPT+Copilot,学习 Rust 直接起飞

運行結果如下:

有了GPT+Copilot,学习 Rust 直接起飞

最後,學習任何一門語言,已經減低了很多難度了,甚至你可以把AI當著你產品經理,給你提供需求,最後讓AI 幫你開發程式碼,你其實就是Review,寫不好的地方繼續讓AI去修改或你見魔改基本能使用了,工作中大部分重複程式碼你沒必要自己從頭開始學,而是學會利用工具。

以上是有了GPT+Copilot,學習 Rust 直接起飛的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除