fn main() {
// 在这里编写你的 Rust 代码
println!("Hello world!");
}
Rust是一门系统编写语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式等编程范式的多范式语言。Rust在语法上和C++类似 ,设计者想要在保证性能的同时提供更好的内存安全。 Rust最初是研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的。 Rust的设计者们通过在研发Servo网站浏览器布局引擎过程中积累的经验优化了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 的效率:学习、运行、开发。
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
127.0.0.1:8080/hello
127.0.0.1:8080/hey
很久以前,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的包
可以看出是actix-web为4.4.0版本