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做一些底层服务,更深入的研究技术。

RUST 语言特性之变量

RUST 语言特性之变量

Rust 学习总结—— 初识 Rust,作为新势力它的前景如何?

想要改变世界的 Rust 语言

想要改变世界的 Rust 语言