
rust
readlnh
这个作者很懒,什么都没留下…
展开
-
聊一聊Rust的结构体
聊一聊Rust的结构体因为最近在接触rust语言,所以随便记录下学习过程中遇到的一些有意思的点。实际上结构体在很多语言中都存在。rust的结构体和c/c++语言的结构体其实也是非常类似的。假如我们要定义一个存储帐号信息的结构体struct User { username: String, email: String, sign_in_count: u64, ac...原创 2019-01-18 11:44:48 · 6306 阅读 · 0 评论 -
rust为什么需要生命周期注解
rust为什么需要生命周期注解我们知道,rust是通过生命周期等一系列机制来对内存进行管理的。rust中每一个引用都有其生命周期,也就是保持有效的作用域。通常来讲,生命周期都是可推断的,在rust的编译器里有一个借用检查器,它通过比较作用域来保证所有借用都是有效的。举例来说:fn main() { let a = 10; let b = &a; ...原创 2019-02-02 19:47:02 · 3216 阅读 · 1 评论 -
谈谈rust的Option枚举和空指针
谈谈rust的Option枚举和空指针由于之前工作一直都在用c/c++,最近在学rust的时候发现rust里面没有空值(null),而是采用了一个Option枚举,感觉非常有意思。空值(Null )是一个值,它代表没有值。在有空值的语言中,变量总是这两种状态之一:空值和非空值。这句话有点绕。实际上用过c++的同学们应该知道c++内的NULL的值是0,例如int *ptr = NULL,这...原创 2019-01-23 17:04:55 · 10772 阅读 · 3 评论 -
rust的一个语法糖:trait bound
rust的一个语法糖:trait bound我们知道rust是没有继承这个机制的,rust的多态是通过trait来实现的。官方的教程里是这么介绍的trait 告诉 Rust 编译器某个特定类型拥有可能与其他类型共享的功能。可以通过 trait 以一种抽象的方式定义共享的行为。可以使用 trait bounds 指定泛型是任何拥有特定行为的类型。从某种程度上来说,trait就是一种可供多...原创 2019-02-14 15:29:54 · 4016 阅读 · 1 评论 -
用Rust写操作系统(1)一个独立的rust二进制程序
一个独立的rust二进制程序原文 https://os.phil-opp.com/freestanding-rust-binary/原作者 phil-opp译者 readlnh创建一个不依赖于标准库的rust可执行文件是我们创建属于自己的操作系统内核的第一步。这将使得在不依赖于底层操作系统的情况下在裸机bare metal 上运行一个rust程序成为可能。这个系列的blog在Git...翻译 2019-03-29 18:43:14 · 3730 阅读 · 0 评论 -
用Rust写操作系统(2)最小Rust内核
最小Rust内核原文 https://os.phil-opp.com/minimal-rust-kernel/原作者 phil-opp译者 readlnh翻译项目地址 https://github.com/readlnh/Writing-an-OS-in-Rust-Second-Edition-zh_CN在这篇文章里我们将在x86架构上创建一个最小的64位Rust内核。我们将在上一篇...翻译 2019-05-20 08:59:22 · 3973 阅读 · 3 评论 -
如何用rust为redis写一个client
如何用rust为redis写一个client最近nosql变得非常流行,redis作为其中的佼佼者,基本也是大部分程序员必备的技能了。我们知道,redis是一个key-value数据库,它运行在内存中但是可以持久化到内存。我们一般很熟悉redis的那些基本命令,但是如何使用某种语言来操作redis呢?那些常用的语言一般都有相应的驱动,但是像rust这样的新语言呢?Redis Protocol...原创 2019-05-13 15:17:31 · 1807 阅读 · 1 评论