首页 > 其他分享 >Rust 开发命令行工具(上)

Rust 开发命令行工具(上)

时间:2023-09-15 14:05:49浏览次数:45  
标签:std 文件 let 命令行 path 工具 我们 Rust

你必须按所想去生活,否则只能按生活去想。 --王小波

大家好,我是「柒八九」

作为一个前端/Rust/AI知识博主,之前的文章中,大部分篇幅都是关于前端的知识分享,而对RustAI的内容只是做了几篇内容梳理和介绍。

而,我们今后的重心也会逐渐偏移,势必能达到前端/Rust/AI「三足鼎立」的局面。

Rust 开发命令行工具(上)_字符串

这里也和很多「精神股东」做一次简短的汇报,之前答应大家多出一些Rust相关的文章,由于工作和个人事务侵占大部分「学习和总结」的时间,所以迟迟没有兑现承诺。也很感谢大部分「老粉」能不离不弃,在这里先叩谢大家了。

Rust 开发命令行工具(上)_字符串_02

你们的支持也是我输入内容的「精神支柱」,同时也很感谢有些「远在天涯海角」的朋友,不停的给出建议和改进意见,Last but not least,由于有些技术能力的有限,在一些表达方式和技术深度方向上,有很多瑕疵。也希望以后大家,互相学习,共同进步。

好了,估计大家不想听我在这里一个人聒噪了,那么就进入我们今天的主题。


前言

在上一篇致所有渴望学习Rust的人的信中我们介绍了Rust可以在命令行工具上也大有建树。

Rust 开发命令行工具(上)_搜索_03

现在就是我们兑现承诺的时候了。

Rust是一种静态编译的、快速的语言,具有出色的工具支持和迅速增长的生态系统。这使它非常适合编写命令行应用程序。

通过编写具有简单CLI的程序,对于那些初学者来说是一个很好的练习,也是我们需要「循序渐进」的一个过程。毕竟,大家刚开始接触一个新的语言都是从Hello World的入手的,但是这种Demo级别的程序,可以说是闭门造车,没有任何的实际价值。并且这种程序是「难登大雅之堂」的。

所以,我们今天来通过一个简单的CLI来巩固之前的内容,并且写出的东西也可以在公司应用场景中有用武之地。

所以说选择很重要,我们不要成为别人口中说的「你之所以穷,是因为你不够努力」的人。

Rust 开发命令行工具(上)_Rust_04

我们在讲解代码中,有一些基础语法会一带而过,也就是说,已经默认大家已经有Rust基础了。如果,你是一个Rust初学者,我们也提供了Rust学习笔记系列,可以快速掌握基础语法。当然,里面的有一些内容也会做一些简单的梳理和讲解。这个就因人而异了,看大家实际情况吧。

Rust 开发命令行工具(上)_Rust_05

由于篇幅的原因,我们打算写三篇文章(上/中/下),来介绍如何用Rust来编写属于自己的命令行工具。 今天是第一篇文章,我们主要的目的是用Rust写出一个可用的命令行工具。属于本地应用级别,现在先不要「嗤之以鼻」,我们后面的2篇文章,会逐步优化这个项目,然后达到最后发版供别人使用的级别。


你能所学到的知识点

  1. 前置知识点
  2. 项目设置
  3. 解析命令行参数
  4. 解析文件内容
  5. 更人性化的错误报告
  6. 信息输出处理
  7. 代码展示 (这个狠重要)

    标签:std,文件,let,命令行,path,工具,我们,Rust
    From: https://blog.51cto.com/u_16253865/7480378

相关文章

  • 【Kubernetes】Kubernetes日志收集最佳实践及开源工具盘点
    Kubernetes是一种流行的开源容器编排平台,被开发人员和DevOps团队广泛用于部署和管理容器化应用程序。在Kubernetes上运行任何应用程序的一个关键方面是日志收集,它有助于监控应用程序的健康和性能,并快速解决问题。在本文中,我们将讨论Kubernetes日志收集以及Kubernetes环境中的最佳实......
  • 软件测试|全面解析Docker Start/Stop/Restart命令:管理容器生命周期的必备工具
    简介Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。在使用Docker时,经常需要管理容器的生命周期,包括启动、停止和重启容器。本文将详细介绍Docker中的dockerstart、dockerstop和dockerrestart命令,帮助您全面了解如何管理容器的运行状态。在Docker中,容器是独立......
  • Python开发实例(二十)网站检测工具:创建一个测量网站的工具,检查页面加载时间等指标
    在这个实例中,我们将创建一个简单的网站检测工具,使用Python的requests库来测量网站,包括页面加载时间等指标。首先,请确保你已经安装了requests库。如果没有安装,可以通过以下命令来安装:pipinstallrequests下面是一个网站检测工具的Python程序:importrequestsimporttimedefmeasu......
  • linux文件:Linux 命令行中如何搜索文件
    Linux搜索文件可以使用find命令。find命令用于在指定的目录下搜索文件,并将搜索到的文件名输出到标准输出设备上。Linux搜索文件可以使用find命令。find命令用于在指定的目录下搜索文件,并将搜索到的文件名输出到标准输出设备上。例如:在/home/user/目录下搜索.txt文件:find......
  • 选择正确的SQL工具,提高企业数据库的开发效率和安全性
    在当今数字化时代,数据是企业的核心资产之一。随着数据规模和数据类型的不断增长,数据库管理变得愈发复杂和关键。许多企业用户在数据库管理方面都面临着一系列难题:核心数据库被随意变更:核心库的波动通常会对企业核心业务产生重大影响,如果没有统一的入口、流程和规范,则很容易会因......
  • golang工具值generate
     示例:大家经常碰到命名错误码、状态码的同时,又要同步写码对应的翻译,有没有感觉很无聊。这里举一个例子:packagemain​import"fmt"​//定义错误码const(ERR_CODE_OK=0//OKERR_CODE_INVALID_PARAMS=1//无效参数ERR_CODE_TIMEOUT......
  • 简单好用的文件清理工具:ccleaner
    ccleaner是一款简单好用的文件清理工具。ccleaner可以清除系统中的所有垃圾文件,腾出硬盘空间,保护系统隐私。ccleaner体积小、运行快,同时还可以对注册表进行扫描。CCleaner特色功能1、ccleaner可以清理临时文件夹、回收站的里的垃圾文件,还可以扫描清理注册表里的垃圾项;2、ccleane......
  • 构建工具gulp浅谈
    gulp.js-基于流(stream)的自动化构建工具引言:​ js作为一门脚本语言,在较早时候,只能通过<script>标签插进html去运行,单个的js文件离开了html就没有了意义。​ 如果一个网站功能很多,要按照功能划分写十几个js文件,那么就要插入十几个<scriptsrc="">去引那些js文件,还需要注意顺......
  • GO语言集成开发工具环境-JetBrains GoLand 2023 Mac+win版
    JetBrainsGoLand是一款由JetBrains开发的集成开发环境(IDE),专门用于Go语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和测试Go代码。→→↓↓载GoLand2023mac/win版 首先,GoLand具有强大的代码编辑功能。它支持代码自动补全、语法高亮、代码导航等功能,使......
  • 流量分析工具 NetCap
    项目地址:https://github.com/dreadl0ck/netcap/tree/masterTheNetcap(NETworkCAPture)frameworkefficientlyconvertsastreamofnetworkpacketsintoplatformneutraltype-safestructuredauditrecordsthatrepresentspecificprotocolsorcustomabstractions......