使用Cargo入门rust语言
rust语言是mozilla公司发布的一门系统级编程语言,据说目的是能够代替C语言。
没错,这个公司一直在搞操作系统,现在搞了一门写操作系统的语言。
这里主要说一下安装rust后怎么搞。我的是win8系统,用的是gitbash命令行。
打开命令行,首先看一下编译器是否正常工作:编译器肯定可以正常工作,主要看你加环境变量了没。
$ rustc --version
rustc 1.6.0 (c30b771ad 2016-01-19)
如果你正常安装并且勾选了添加环境变量,但是没有返回版本信息反而是其他一堆鬼,你可以去看一下PATH里面有没有rust的bin目录。如果你输出了PATH一看,你娘,怎么没有!然后打算自己去添加,结果编辑PATH的时候到最后一看:你娘,这明明有的啊!那么请重启电脑。
接下来我们尝试写hello world。
rust自带了一个项目管理工具,叫Cargo。不知道这个单词的可以去查一下,算了我还是告诉你吧,它本意是“货物,负荷”的意思。我们需要用到这个东西。
第一步新建工程,就叫hello_world吧,所以肯定是先新建hello_world目录:
mkdir hello_world
否则还有一种方法,更好的方法:
$ cargo new hello_world --bin
我们使用了cargo工具,它自动创建了该目录。
只是这样吗?当然不是,否则谁还他妈的写这么大一串命令还不如mkdir呢。
进入工程目录看一下:
$ ls
Cargo.toml src
有一个文件和一个文件夹。文件夹一看就是放源代码的,那么这个文件是干啥的呢?
这是个配置文件,所有要用cargo管理的必须有这个文件,而且必须是这个名字,而且首字母必须大写。
打开看一下说的啥:
$ cat Cargo.toml
[package]
name = "hello_world"
version = "0.1.0"
authors = ["赵日天 <叶良辰@wangsicong.com>"][dependencies]
主要是包信息,工程名称、版本和作者。下面那个依赖信息是空的,所以可以删掉。
然后可以写代码了。
进入src目录,看下它自动建的源代码:
$ cat main.rs
fn main() {println!("Hello, world!");
}
是一个显而易见的输出hello world程序。
怎么运行呢?(纳尼,代码写好了?我一个字都没写啊!稍等一下)
到有Cargo.toml文件的目录下执行命令
cargo build
cargo就开始编译代码了,然后会生成一个target目录,里面有一个debug目录:
$ pwd
/E/***/hello_world/target/debug
$ ls
build deps examples hello_world.exe native
执行这个hello_world.exe就输出我们期望的文字。不过我们并不直接执行,有一个参数可以合并build过程和运行过程:在项目目录下执行命令cargo run
$ cargo runHello, world!
现在需要自己写代码了:请把刚才cargo自动创建的过程改成手动的,并实现输出hello world。
需要注意的是:fn main是一个方法,但是println!不是一个方法,而是一个宏,宏是以叹号结尾的。
rust里没有声明语句只有表达式,它的变量定义也使用模式匹配表达式而不是其他多数语言的声明语句。
使用Cargo入门rust语言相关推荐
- 五分钟入门rust语言
1. 入坑rust 1.1 rust发展历程 2006年,Mozilla 员工 "Graydon Hoare" 开发了Rust. 2015年5月15日,Rust编程语言核心团队正式 ...
- Rust布道者张汉东倾授,入门Rust初学者都要攻破哪些难点?
摘要:Rust语言学习曲线过于陡峭?初学者看懂这张思维导图,快速入门. Rust语言这两年的热度大家有目共睹,作为一个有着突破性变革意义的语言,其光鲜背后也有诸多质疑,对于想要在系统编程语言上更上一层 ...
- rust大量科技零件_半小时入门Rust,这是一篇Rust代码风暴
机器之心报道 参与:思.Jamin 据说很多开发者一天入门 Python,两天上手 Go,但到了 Rust 就会发现画风隐约有些不对.它从语法到特性,似乎都要复杂一些.本文介绍的就是 Rust,作者表 ...
- Rust 语言新人入门指南
首先,学习 Rust 不能急躁.如果你抱着之前 1 天上手 Python, 2 天入门 Go 的经验和优越感来学习 Rust 的话,你可能会遭遇严重的失败感.如果你来自 Haskell/Ocaml 等 ...
- Rust语言入门(2)——设计哲学
设计哲学 1 简述 任何一门语言的兴起,都是为了解决一个问题. 自操作系统诞生以来,系统级主流变成语言,从汇编语言到C++, 已经发展了近50年.但仍然存在两个难题: 很难编写内存安全的代码 很难编写 ...
- 微软再推 Rust 语言免费中文教程,更香了!
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 在过去的几个月,Amazon.Facebook.微软以及谷歌等科技巨头正疯狂吸纳人才市场上的 Rust 语言程序员 ...
- Rust 语言中文网络内容建设
本文时间:2018-11-21,作者: krircc, 简介:天青色 欢迎向Rust中文社区投稿,投稿地址,好文将在以下地方直接展示 Rust中文社区首页 Rust中文社区Rust文章栏目 知乎专栏R ...
- 【rust语言】(1):开始学习rust语言,使用vscode进行开发,rust不要做为自己的第一门开发语言,c++和rust都要学习好,成年人两个都要。
目录 前言 1,关于Rust学习,对比了一段时间还是决定学习了 2,官方网站 3,使用Cargo创建项目和进行包管理, 4,增加项目依赖包,和nodejs比较像 5,另外一个tauri app 框架, ...
- Rust语言之HelloWorld Web版
Rust语言之HelloWorld Web版 Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rus ...
- golang byte转string_Golang和Rust语言常见功能/库
时下最流行.最具发展前途的的两门语言是Golang和Rust.Golang语言简洁.高效.并发.并且有个强大的囊括了常见功能标准库.与之相对比,Rust语言则主要是安全.高性能.虽然Rust没有gol ...
最新文章
- 《一江春水向东流》之随笔
- hadoop调用python算法_使用Python实现Hadoop MapReduce程序
- 点击率预估模型汇总_CIKM20MiNet:阿里|跨域点击率预估混合兴趣模型
- 2007年IT企业定向培养就业班
- 微软Excel竟能实现CV算法:亚马逊工程师妙用,人脸检测、字符识别都不在话下...
- MariaDB/MySql 服务消失无法启动
- (24) 不可能的出栈顺序
- 小白的java学习之路 “ 选择结构(一)”
- loadrunner解决在项目中的难点解决
- 如何把一个运行完好的Kafka搞崩
- resnet预训练模型_干货 | NLP中的十个预训练模型
- eZ Publish 2013.4 发布,CMS 内容管理系统
- 程序员的浪漫:教你如何用MATLAB向女生表白
- BZOJ 1015: [JSOI2008]星球大战starwar 并查集
- dual mysql 获取序列_FASTJSON反序列化和构造函数之间的一点小秘密
- 转载--认识迅雷界面引擎
- 小觅双目摄像头标准版视觉惯性 SLAM DEMO
- python乘法口诀表
- 字符编码那些事--彻底理解掌握编码知识
- echarts pie 饼图 border宽度