Rust教程初识

Rust是一种由Mozilla开发的高级编程语言,以其高效和可靠性著称。它具有内存安全和线程安全的特性,适用于开发命令行程序、Web应用、网络服务器和嵌入式设备。Rust的编译器确保了代码在编译期间消除错误,提供高效的开发体验。学习Rust需要一定的编程基础知识,如C++或JavaScript。
摘要由CSDN通过智能技术生成

Rust 教程

Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。

Rust 语言由 Mozilla 开发,最早发布于 2014 年 9 月。Rust 的编译器是在 MIT License 和 Apache License 2.0 双重协议声明下的免费开源软件。截至目前( 2020 年 1 月)最新的编译器版本是 1.41.0。

Rust 官方在线工具: https://play.rust-lang.org/

Rust 系列文章内容由 Sobin 收集整理。


Rust语言的特点

  • 高性能 - Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。

  • 可靠性 - Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。

  • 生产力 - Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具 —— 包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。


Rust的应用

Rust 语言可以用于开发:

  • 传统命令行程序 - Rust 编译器可以直接生成目标可执行程序,不需要任何解释程序。
  • Web 应用 - Rust 可以被编译成 WebAssembly,WebAssembly 是一种 JavaScript 的高效替代品。
  • 网络服务器 - Rust 用极低的资源消耗做到安全高效,且具备很强的大规模并发处理能力,十分适合开发普通或极端的服务器程序。
  • 嵌入式设备 - Rust 同时具有JavaScript 一般的高效开发语法和 C 语言的执行效率,支持底层平台的开发。

谁适合阅读本教程?

本教程对于初级的编程知识将默认读者已经掌握,所以如果你阅读本教程,你需要对初级的编程知识有一定的了解(最好已经初识 C/C++ 或 JavaScript 编程语言)。

第一个 Rust 程序

Rust 语言代码文件后缀名为 .rs, 如 runoob.rs

实例:runoob.rs 文件

fn main() {  
    println!("Hello World!");  
}  

运行实例 »

使用 rustc 命令编译 runoob.rs 文件:

$ rustc runoob.rs   # 编译 runoob.rs 文件

编译后会生成 runoob 可执行文件:

$ ./runoob    # 执行 runoob
Hello World!

总结

  1. Rust 是什么 (what)
    1. 更严苛审查的编译运行式语言
  2. why
    1. 更高的安全性?
    2. 不是很明确说实话。从了解到的资料来看,它被认为是c、c++的上位平替但是大家都提到了更陡峭的学习曲线。
  3. how
    1. 看圣经
  4. when
    1. 也许是十年后的顶峰
  5. where
    1. 也许是十年后的大厂
  6. 所以,这是一场对未来的豪赌。即使它来自于2006年。
  7. 中二的发言结束了,现在让我们回到当前。从编码思想来看,这并不是我目前能回答的问题。那么就和我知道的编码语言来对比吧。

C、C++

目前我没看编码扩展。
从刚接触的情况来看,他应当是将部分内容内化到了编码器中,包括了 最基础的 #include <stdio.h> and #include <iosteam>

以至于他只有最基础的 函数类型 + 函数名 + 函数内容。

对了,他甚至都没有返回值。

以及神奇的 ! 我不知道这个这个是什么,但是去掉它,就没法执行得到结果了。这种在函数中加入符号的事情实在是太 cooooooooooooool了。

Python

他有点类似于 def 的方式去定义函数。但是他不依靠缩进,而是直接干净了当的使用花括号圈定了作用域。
这可是在是泰库辣!

并且,不同于 Python 中 万物皆变量的思想,很明显在Rust中是有函数的,并且将main()作为了程序编译时启动入口。
在编译成汇编时的那个程序jmp的地址。

Golang

应对最新了解的golang ,不做过多评判。
但是
可以简单索索

首先,它没有runbuild 的双线选择路线。 可惜不能做脚本了。

其次,没有包,最起码没有独特的 package main来启动 最最最独特的 main()接口。
当然最起码它们都有()来表示函数,还有{}来规定作用域,不像python。使用:和 tab缩进。
这在黏贴到linux下时可能要改一些缩进错误,这样的的无用功。

和ChatGPT提问时,那可怜的token 数。

当然,它们都有编译然后执行可执行程序的用法。应当有编译后改名的方式,不然那也太不coooooooooooool了。


参考链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值