Rust 学习笔记

Rust 学习笔记

Hello world 代码一

fn main() {
    // 在这里编写你的 Rust 代码

        println!("Hello world!");
}

什么是Rust 语言?

Rust是一门系统编写语言 ,专注于安全   ,尤其是并发安全,支持函数式和命令式等编程范式的多范式语言。Rust在语法上和C++类似   ,设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。 Rust的设计者们通过在研发Servo网站浏览器布局引擎过程中积累的经验优化了Rust语言和Rust编译器。

Rust 安装

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Rust 由工具 rustup 安装和管理。因而不同时期存在大量不同的 Rust 构建版本。 rustup 用于管理不同平台下的 Rust 构建版本并使其互相兼容, 支持安装由 Beta 和 Nightly 频道发布的版本,并支持其他用于交叉编译的编译版本。

如果您曾经安装过 rustup,可以执行 rustup update 来升级 Rust。

效率

下面从三个角度来谈谈 Rust 的效率:学习、运行、开发。

安装VsCode的Rust插件

Rust-analyer 安装插件

Rust 学习笔记_第1张图片

crate的插件 

Rust 学习笔记_第2张图片 

Rust 学习笔记_第3张图片 

Hello_world.rs

use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder};

#[get("/")]
async fn hello() -> impl Responder {
    HttpResponse::Ok().body("Hello world! by")
}

#[post("/echo")]
async fn echo(req_body: String) -> impl Responder {
    HttpResponse::Ok().body(req_body)
}

async fn manual_hello() -> impl Responder {
    HttpResponse::Ok().body("Hey there! by keny")
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| {
        App::new()
            .service(hello)
            .service(echo)
            .route("/hey", web::get().to(manual_hello))
    })
    .bind(("127.0.0.1", 8080))?
    .run()
    .await.
}

 自己运行Gargo build hello_world

运行Hello_world的Web

127.0.0.1:8080/hello

127.0.0.1:8080/hey

Actix Web

很久以前,ActixWeb是建立在activixactor框架之上的。现在,ActixWeb在很大程度上与actor框架无关,而是使用不同的系统构建的。尽管activx仍然保持着,但随着未来和异步/等待生态系统的成熟,它作为一种通用工具的有用性正在减弱。此时,只有WebSocket端点才需要使用activx。

我们称Actix Web为一个强大而实用的框架。从所有的意图和目的来看,这是一个有一些曲折的微观框架。如果你已经是一名Rust程序员,你可能会很快发现自己在家,但即使你来自另一种编程语言,你也应该发现Actix Web很容易上手。

使用ActixWeb开发的应用程序将公开包含在本机可执行文件中的HTTP服务器。您可以将其放在另一个HTTP服务器(如nginx)后面,也可以按原样提供。即使在完全没有其他HTTP服务器的情况下,Actix Web也足够强大

rust 使用为use actix

use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder};

第一行写actix_web 告诉编译需要使用actix_web的包

配置Cargo.toml

Rust 学习笔记_第4张图片

可以看出是actix-web为4.4.0版本

Rust 学习笔记_第5张图片

你可能感兴趣的:(rust,学习,笔记)