感谢Rust社区+ LibertyOS 0.7.0
我只是想写一篇简短的帖子,只是想对大家说声“谢谢”。没有太多细节,我最近经历了很多事情,我觉得我所做的任何事情对除我自己以外的任何人都没有(或将有)价值。我发布了我的爱好操作系统,在两天之内,我的repo收到了20颗星,在crates.io上的下载量达到了200,有很多有用的(有趣的)评论来帮助我改进我的工作。我确信我的工作有点差劲,但我肯定想继续在我发布的操作系统上工作。你们太棒了,让我对自己感觉好多了。让我觉得我可能不是在浪费时间。
Gitlab 链接,https://github.com/LibertyOS-Development/kernel
文章链接,https://www.reddit.com/r/rust/comments/qsv0ue/thank_you_to_the_rust_community_libertyos_070/
在你的终端绘制蜡烛图
大家好,我到现在只学了3天rust,为了练习,我制作了一个小lib,允许您使用unicode字符直接在终端中绘制蜡烛图形:
我觉得有些人可能会感兴趣,所以我想分享一下。我很想得到关于它的反馈,或改进/新功能的建议!
Gitlab 链接,https://github.com/Julien-R44/cli-candlestick-chart
文章链接,https://www.reddit.com/r/rust/comments/qt3k14/draw_candlestick_charts_right_into_your_terminal/
具有循环引用的Rust数据结构
为了实现其安全保证,Rust编译器在整个程序中仔细跟踪所有权和引用。这使得编写某些类型的数据结构具有挑战性;特别是具有循环引用的数据结构。
让我们从一个简单的二叉树开始:
struct Tree {
root: Option<Node>,
}
struct Node {
data: i32,
left: Option<Box<Node>>,
right: Option<Box<Node>>,
}
因为Rust编译器应该能够在编译时计算结构的大小,所以left和right通常使用Box分配堆内存。这些Box被包装在一个Option中,因为节点的左或右子节点可能为空。
文章链接,https://eli.thegreenplace.net/2021/rust-data-structures-with-circular-references/
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- 微信公众号:Rust语言中文社区