当前位置:首页 > 科技  > 软件

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

来源: 责编: 时间:2024-01-10 09:34:19 296观看
导读大家好,我是渔夫。Rust 前中期学习曲线会更陡峭一些,但是今天咱们有了 AI 辅助,学任何编程语言,似乎也没那么难了,不懂就往 GPT 去问,至少前期你会很快解决掉问题的。比如,我想读一个 CSV 文件,直接上 GPT 去咨询。它连 csv

大家好,我是渔夫。Pf328资讯网——每日最新资讯28at.com

Rust 前中期学习曲线会更陡峭一些,但是今天咱们有了 AI 辅助,学任何编程语言,似乎也没那么难了,不懂就往 GPT 去问,至少前期你会很快解决掉问题的。Pf328资讯网——每日最新资讯28at.com

比如,我想读一个 CSV 文件,直接上 GPT 去咨询。Pf328资讯网——每日最新资讯28at.com

Pf328资讯网——每日最新资讯28at.com

Pf328资讯网——每日最新资讯28at.com

它连 csv 里面的内容都给你生成了,这效率真高啊。Pf328资讯网——每日最新资讯28at.com

首先,我们来添加外部包: 使用csv和serde包。这些包可以通过在你的Cargo.toml文件中添加它们来引入。Pf328资讯网——每日最新资讯28at.com

也可以选择,命令行添加:Pf328资讯网——每日最新资讯28at.com

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

添加后,我们尝试遍历这个文件是否真的存在数据。Pf328资讯网——每日最新资讯28at.com

代码如下:Pf328资讯网——每日最新资讯28at.com

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(())}

运行结果,还真帮生成这些数据。Pf328资讯网——每日最新资讯28at.com

cargo run    Finished 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咨询,都能帮你解决掉,甚至代码的每一行,都可以让他帮你解释清楚,这初学者帮助肯定很大的。Pf328资讯网——每日最新资讯28at.com

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 自动帮你生成,效率上也提升不少。Pf328资讯网——每日最新资讯28at.com

Pf328资讯网——每日最新资讯28at.com

运行结果如下:Pf328资讯网——每日最新资讯28at.com

Pf328资讯网——每日最新资讯28at.com

最后,学习任何一门语言,已经减低了很多难度了,甚至你可以把AI当着你产品经理,给你提供需求,最后让 AI 帮你开发代码,你其实就是Review,写不好的地方继续让AI去修改或你见魔改基本能使用了,工作中大部分重复代码你没必要自己从头开始学,而是学会利用工具。Pf328资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-59632-0.html有了GPT+Copilot,学习 Rust 直接起飞

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Rust编程基础核心之所有权

下一篇: Python PyQt6中的标签和文本框:你是否了解这些常用控件?

标签:
  • 热门焦点
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 六大权益!华为8月服务日开启:手机免费贴膜、维修免人工费

    8月5日消息,一年一度的华为开发者大会2023(Together)日前在松山湖拉开帷幕,与此同时,华为8月服务日也式开启,到店可享六大专属权益。华为用户可在华为商城Ap
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    7月7日消息,近日有微博网友@长三角行健者爆料称,据经销商集团反馈,小米汽车目前已经开始了交付中心的筛选工作,要求候选场地至少有120个车位,建筑不能低
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
Top