文档章节

rust语言初体验

有力量的神经病
 有力量的神经病
发布于 2016/08/12 11:34
字数 837
阅读 143
收藏 1
点赞 0
评论 0

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
博文 16
码字总数 9692
作品 0
成都
程序员
2018 年开源技术 10 大发展趋势

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

周其 ⋅ 2017/12/28 ⋅ 5

2018 年开源技术 10 大发展趋势

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

作者: Sreejith Omanakuttan ⋅ 2017/12/27 ⋅ 0

回应王垠的《对 Rust 语言的分析》

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

主线程 ⋅ 2017/11/18 ⋅ 0

Rust 在 2017 年的发展主题:提高生产力

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

周其 ⋅ 2017/12/24 ⋅ 11

Rust 2017 调查报告:学习曲线是最大痛点

Rust 官方在社区上做了一次调查,以了解用户如何看待 Rust 的发展。调查共收到 5368 份回复,其中有 大约 2/3 的是 Rust 用户,剩下的 1/3 是非 Rust 用户,调查结果如下。 点此查看完整调查...

王练 ⋅ 2017/09/07 ⋅ 52

系统级编程语言性能大PK的笑话-Go语言

喜欢和不喜欢Go语言的都喜欢拿性能PK说事. 流传比较广的是benchmarksgame的PK数据: http://benchmarksgame.alioth.debian.org/u64q/go.php 在 benchmarksgame测试中, Go语言的性能已经由之前...

chai2010 ⋅ 2013/08/06 ⋅ 7

Rust 1.0.0 蓄势待发

从源码看出,Rust 1.0.0 离最终用户不远了。 Rust 1.0.0 发布计划请看这里:http://www.oschina.net/news/57888/rust-1-0-timeline。 Rust 1.0.0 Alpha 计划是 2015 年 1 月 9 日发布,当 Ru...

曾赛 ⋅ 2015/01/07 ⋅ 46

Rust 0.5 发布,Mozilla 的编程语言

Mozilla 的编程语言 Rust 0.5 发布了,Rust 这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是...

oschina ⋅ 2012/12/22 ⋅ 1

Rust 0.8 发布,Mozilla 的新编程语言

Rust 0.8 发布了,这还是一个 Alpha 版本,详细的改进记录请看这里。 下载地址: http://static.rust-lang.org/dist/rust-0.8.tar.gz http://static.rust-lang.org/dist/rust-0.8-install.e...

oschina ⋅ 2013/09/27 ⋅ 19

Rust 1.0 alpha 发布,Mozilla 新编程语言

Rust 1.0 alpha 发布了,该版本已经完成了所有 1.0 版本的语言特性和核心库。接下来主要是文档完善以及功能改进和 bug 的修复。详细的介绍请看发行说明。 下载地址:http://www.rust-lang.or...

oschina ⋅ 2015/01/10 ⋅ 12

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vbs 取文件大小 字节

dim namedim fs, s'name = Inputbox("姓名")'msgbox(name)set fs = wscript.createobject("scripting.filesystemobject") 'fs为FSO实例if (fs.folderexists("c:\temp"))......

vga ⋅ 10分钟前 ⋅ 0

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部