rust语言:继续学习rust语言的基本语法,确实难度比javagolang的学习成本要高很多了,为了解决内存安全,提高效率做了很多的限制,同时内存安全后,安全漏洞也少很多。
Posted freewebsys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rust语言:继续学习rust语言的基本语法,确实难度比javagolang的学习成本要高很多了,为了解决内存安全,提高效率做了很多的限制,同时内存安全后,安全漏洞也少很多。相关的知识,希望对你有一定的参考价值。
目录
前言
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/108971807
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
1,学习Rust 语言总结
首先,官方自带的cargo非常方便,可以方便的创建项目,进行依赖管理,同时支持慢慢学习相关的视频。
安装视频中的代码一点点的进行练习:
https://www.bilibili.com/video/BV1hp4y1k7SV/
Rust编程语言入门教程(Rust语言/Rust权威指南配套)【已完结】
2,使用rand随机库
需要掌握的知识点特别的多,比如开始的随机函数就语法变了,使用的rand 的版本是:
rand = version = “0.8.5”, features = [“small_rng”]
https://rust-random.github.io/rand/rand/index.html
同时需要在 config 下面配置国内镜像,加速下载:
# 修改配置文件: ~/.cargo/config
# 设置代理
[source.crates-io]
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
随机函数代码:
use std::io;
use rand::prelude::*;
use std::cmp::Ordering;
fn main()
println!("猜数字!");
println!("猜一个数字:");
let secret_num = thread_rng().gen_range(1..100);
println!("数字: ", secret_num);
loop
let mut guess = String::new();
io::stdin().read_line( &mut guess).expect("无法读取行");
let guess :u32 = match guess.trim().parse()
Ok(num) => num,
Err(_) => continue,
;
println!("你的猜数是 :", guess);
match guess.cmp( &secret_num)
Ordering::Less => println!("Too small !"),
Ordering::Greater => println!("Too big !"),
Ordering::Equal =>
println!("You win !");
break;
,
语法糖也不少,都是要学习的知识点。同时,这个视频时长是20 小时。
按照这个进度,估计要学习几天就可以全部学习完毕了。
3,关于openEuler 项目
开始学习rust的原因是慢慢的一些高性能的服务,都要使用 rust 进行开发了。
慢慢的发现使用c、c++的高手门越来越少了。而且比较难精通了。
造成的内存异常,引用异常等等排查起来的时间比写代码的时间还长。
还不如rust这样慢慢些的效率高呢。从语法编译层面上严格限制。
知道为啥rust 学起来难了,限制比较多。弄不好就编译不过。
在openeuler 项目下面有 rust 开发的一个项目:
https://gitee.com/organizations/openeuler/projects?lang=Rust
https://gitee.com/openeuler/stratovirt
StratoVirt:
StratoVirt是计算产业中面向云数据中心的企业级虚拟化平台,实现了一套架构统一支持虚拟机、容器、Serverless三种场景。StratoVirt在轻量低噪、软硬协同、Rust语言级安全等方面具备关键技术竞争优势。
StratoVirt预留了接口和设计来支持更多特性,未来甚至向标准虚拟化演进。
1004M stratovirt
代码编译后有1G磁盘空间了。
https://gitee.com/openeuler/libarchive-rust
https://fuchsia-china.com/
google的下一个操作系统。听说也有使用rust 开发。
https://github.com/rcore-os/zCore
zCore设计架构概述
支持bare-metal模式的Zircon & Linux
支持libos模式的Zircon & Linux
支持的图形应用程序等更多指导请查看
有rcoe和 zcore 两个都是rust 的项目
本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/108971807
博主地址是:https://blog.csdn.net/freewebsys
以上是关于rust语言:继续学习rust语言的基本语法,确实难度比javagolang的学习成本要高很多了,为了解决内存安全,提高效率做了很多的限制,同时内存安全后,安全漏洞也少很多。的主要内容,如果未能解决你的问题,请参考以下文章
rust编译器教我做人,为啥还要学习rust语言,因为想使用rust做一些底层服务,更深入的研究技术。