天天速看:Rust 学习笔记Day 1 环境搭建 第一个程序

先从安装运行开始,搞出开发环境。


(相关资料图)

安装

Unix:直接运行

安装完成后,就可以创建项目了。

当运行完,就会创建一个名为first的项目文件夹。

默认main.rs里就是经典的 hello world。

接着在Cargo.toml的依赖项里加入reqwest和html2md

main.rs 修改如下:

这里主要使用了reqwest库用来网络请求,html2md 从名字就能看得出 解析html成markdown格式。

运行 cargo run

会经过一段漫长的编译,开始运行,先请求rust官网,然后解析成markdown写入文件。

可以看到 在rust里项目管理工具 是cargo,类似 Node里的npm, Golang里的go。

rust语法偏C/C++风格

函数用{}

表达式结束用;

访问结构成员字段,或函数用 .

访问命名空间用::

不想在代码里 使用std::fs() 可以直接use std::fs,这样就可以在代码里直接使用fs()函数了。

入口函数是main()

强类型语言,但编译器也支持类型推导。

rust 还有一些特点:

rust变量默认是不可变的,如果要修改变量的值,需要显式使用mut关键字。

除了let/static/const/fn 等少数语句外,rust绝大多数代码都是表达式。所以if/while/for /loop都会返回一个值,函数里的最后一个表达式就是返回值。

支持面向接口,泛型。Go好像在1.18才支持泛型。

丰富的数据类型和强大的标准库。(貌似任何一个说自己语言的好的,是不是都可以这么说?)

丰富的控制流 比如 模式匹配(pattern match)

不过个人感觉刚上手有点不是太适应的地方。

fn 虽然简单但是不如写全function

如果代码里使用某些命名空间,头部不能自动导入 use。这一点go做的相对自动一些。

感觉既然是强类型,就不要松开类型推导这个口子。不然有点混乱,

总体感觉就是 既要还要。

明天接着学 Rust的基本语法和数据结构。

关键词: NODE RUST MARKDOWN FUNCTION GOLANG CARGO

推荐阅读

Copyright   2015-2022 东方印刷网 版权所有  备案号:沪ICP备2020036824号-8   联系邮箱:562 66 29@qq.com