rust
柳清风09
这个作者很懒,什么都没留下…
展开
-
rust cmd stdio demo
use std::process::{Command, Stdio};use std::io::{BufRead, BufReader, Write, stdin, Read};use std::fmt::Error;use std::thread::{spawn};fn main() { run();}fn run() -> Result<(),Error> { let result = Command::new("sh") //.arg(原创 2021-05-09 10:12:42 · 509 阅读 · 0 评论 -
rust 编写hello world redis
服务端代码use mini_redis::{Connection, Frame};use tokio::net::{TcpListener, TcpStream};use std::sync::{Arc,Mutex};use std::collections::HashMap;use bytes::Bytes;type Db = Arc<Mutex<HashMap<String, Bytes>>>;#[tokio::main]pub async f原创 2021-04-13 16:06:23 · 322 阅读 · 0 评论 -
rust内存安全--借用
rust的内存安全在编译期间就可以被检查出来。关于借用,总结一句话是“共享不可变,可变不共享”譬如这段代码,是可以通过编译的fn main() { let i = 1; let p1 = &i; let p2 = &i; println!("{} {} {}", i, p1, p2);}虽然发送了共享,但没有修改其内容,是安全的。如果共享给了p1后,i 值又发生了变化,违反了共享不可变fn main() { let mut i = 0;原创 2021-04-05 14:44:59 · 339 阅读 · 1 评论 -
rust函数
基本的函数定义fn add3(x: i32, y: i32) -> i32 { x+y}除了返回值类型需要使用 -> 标识以外,rust函数还有个特别之处,就是可以省略return函数也是头等公民,可以赋值给一个变量let f = add3;println!("{}",f(3, 4))和很多其他语言一样,有个特殊的函数就是main可以在main里面通过std::env::args()获取启动参数或者通过match std::env::var(&a原创 2021-03-24 21:28:39 · 283 阅读 · 0 评论 -
rust学习笔记-变量和类型
变量通常一门的语言的变量是没有啥可以说道的,无法就是变量命名规则:以字母、下划线和数字组成,并且数字不能开头,没啥好说的。但rust的变量奇怪的地方是,变量不可变譬如这样一个简单到不能再简单的代码fn main() { let a =4; a = 3; println!("{}",a)}编译的时候就会报错3 | a = 3; | ^^^^^ cannot assign twice to immutable variable不能二次分配不可变变原创 2021-01-24 15:06:42 · 1118 阅读 · 0 评论 -
让我们开始rust (一)环境安装
为啥我想学rust呢?无它,没有gc的STW。既有c的速度,又具有安全的内存使用,还不用gc,why not try it!首先是rust运行时安装如果是mac非常方便brew install rust但如果还需要安装一些格式化如:rustfmt等组件的话,通过下面脚本安装curl https://sh.rustup.rs -sSf | sh 我这边是是vscode做rust开发,配置plugin,rust-analyzer这个插件使用起来还是挺方便的。配置完环境后,按照惯例开始我们第原创 2021-01-22 11:36:37 · 374 阅读 · 0 评论