文档章节

rust语言初体验

有力量的神经病
 有力量的神经病
发布于 2016/08/12 11:34
字数 837
阅读 181
收藏 1

Rust介绍:

Rust 是一门系统级编程语言,被设计为保证内存和线程安全,并防止段错误。作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C / C++ 同级。Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。Rust 是线程安全的!

Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、并发和内存控制。尽管 Rust 借用了 C 和 C++ 的语法,它不允许空指针和悬挂指针,二者是 C 和 C++ 中系统崩溃、内存泄露和不安全代码的根源。Rust 使用实现(implementation)、特征(trait)和结构化类型(structured type)而不是类(class)。这点,与基于继承的OO语言 C++, Java 有相当大的差异。而跟 Ocaml, Haskell 这类函数式语言更加接近。Rust做到了内存安全而无自动垃圾回收(GC).

说明:摘自RustPrimer,网址:https://rust-china.org/rust-primer/latest/1st-glance/index.html

Rust下载安装:

Rust支持linux、mac和windows,由于本人电脑是win10系统,故此处只介绍rust在windows下的安装和下载,mac或者Linux版请自行访问下边的链接。

插一下:学习rust有两个地方,一是英文版的rust book,地址:https://doc.rust-lang.org/book/ 另一个是由国内一群热爱rust的大牛爱好者自发翻译的rust book中文版RustPrimer,跟英文版同步哦,地址:https://wayslog.gitbooks.io/rustprimer/content/

windows版下载地址:https://www.rust-lang.org/en-US/downloads.html

如上图windows下有两个版本GNU和MSVC,区别是MSVC需要vc++支持,笔者开始下载的MSVC版,编译运行程序出现无法链接的错误,因此建议下载GNU版。安装文件是一个.msi文件,直接双击安装,一路点下一步下一步就Ok。

安装好后打开cmd或者powershell,输入rustc -version,如果出现了版本信息就说明安装成功了。

Hello World!

几乎每一门语言学习都是从著名的Hello World开始的,rust也不列外。

首先进入你要放rust程序的目录,笔者是放在E盘的rust目录下,运行命令进入

运行命令新建一个专门存放项目的文件夹和本次hello world的文件夹

mkdir projects #创建存放所有项目的文件夹

mkdir hello_world #创建存放本次Hello world项目的文件夹

每一种语言代码文件都有一种后缀,如java是.java、php是.php,rust的默认后缀则是.rs,因此我们新建一个代码文件main.rs

运行命令new-item main.rs(注:所有代码均在win10下的powershell下运行通过),此时会新建一个main.rs文件,接着在notepad main.rs,则会用记事本打开main.rs,键入如下代码(也可以直接复制粘贴,不过建议手打,开始嘛,增加印象)。

fn main() {
    println!("Hello, world!");
}

保存关闭。回到powershell。

依次键入如下代码:

rustc main.rs
./main.exe

此时powershell就会 打印出Hello,world!

初始教程中还有Cargo,Cargo是rust的包管理工具和构建工具,等下晚一点再补充。

 

© 著作权归作者所有

共有 人打赏支持
有力量的神经病
粉丝 5
博文 21
码字总数 10798
作品 0
成都
程序员
私信 提问
2018 年开源技术 10 大发展趋势

你是否关注过开源技术的发展趋势? 这里是 10 个预测。 技术一直在变革,诸如 OpenStack、增强型网页应用Progressive Web App(PWA)、Rust、R、认知云the cognitive cloud、人工智能(AI),...

作者: Sreejith Omanakuttan
2017/12/27
0
0
Rust 2018 年度调查报告发布

Rust 官方博客发布了 2018 年的 Rust 调查报告。 今年是第三次对 Rust 进行年度调查,首次增加了面向英语以外语言环境的调查,在全球 14 种语言背景的调查下,总共收集到了 5991 份调查记录,...

h4cd
11/29
1K
6
回应王垠的《对 Rust 语言的分析》

经常阅读王垠的博客,对里面绝大多数文章的观点都是认同的。但对于《对 Rust 语言的分析》这篇,作为一个已经用了Rust两年多的人,想提出一些不同的看法。 首先,介绍一下我自己的一些项目,...

主线程
2017/11/18
0
0
2018 年开源技术 10 大发展趋势

技术始终是不断发展着的。OpenStack,Progressive Web Apps,Rust,R,认知云,人工智能(AI),物联网等新的发展正在把我们传统的认知模式抛弃。以下 2018 开源技术 10 大发展趋势。 1、 Op...

周其
2017/12/28
4.3K
5
Rust 在 2017 年的发展主题:提高生产力

Rust 在 2017 年的发展都围绕提高生产力这个主题。从工具到库到文档到核心语言,我们都希望使 Rust 让任务更容易完成。2017年的路线图就是围绕这个意愿开展的,该文章列出了指导 Rust 团队想...

周其
2017/12/24
2.2K
12

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
4
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部