Rust
Jackyzhe
公众号:代码洁癖患者
展开
-
Rust入坑指南:万物初始
有没有同学记得我们一起挖了多少个坑?嗯…其实我自己也不记得了,今天我们再来挖一个特殊的坑,这个坑可以说是挖到根源了——元编程。原创 2020-04-09 22:12:39 · 2050 阅读 · 0 评论 -
Rust入坑指南:居安思危
任何事情都是相对的,就像Rust给我们的印象一直是安全、快速,但实际上,完全的安全是不可能实现的。因此,Rust中也是会有不安全的代码的。严格来讲,Rust语言可以分为Safe Rust和Unsafe Rust。Unsafe Rust是Safe Rust的超集。在Unsafe Rust中并不会禁用任何的安全检查,Unsafe Rust出现的原因是为了让开发者可以做一些更加底层的操作。这些事情本身...原创 2020-04-02 22:50:09 · 847 阅读 · 1 评论 -
Rust入坑指南:齐头并进(下)
前文中我们聊了Rust如何管理线程以及如何利用Rust中的锁进行编程。今天我们继续学习并发编程,原子类型许多编程语言都会提供原子类型,Rust也不例外,在前文中我们聊了Rust中锁的使用,有了锁,就要小心死锁的问题,Rust虽然声称是安全并发,但是仍然无法帮助我们解决死锁的问题。原子类型就是编程语言为我们提供的无锁并发编程的最佳手段。熟悉Java的同学应该知道,Java的编译器并不能保证代码的...原创 2020-03-24 23:24:32 · 846 阅读 · 0 评论 -
Rust入坑指南:齐头并进(上)
我们知道,如今CPU的计算能力已经非常强大,其速度比内存要高出许多个数量级。为了充分利用CPU资源,多数编程语言都提供了并发编程的能力,Rust也不例外。聊到并发,就离不开多进程和多线程这两个概念。其中,进程是资源分配的最小单位,而线程是程序运行的最小单位。线程必须依托于进程,多个线程之间是共享进程的内存空间的。进程间的切换复杂,CPU利用率低等缺点让我们在做并发编程时更加倾向于使用多线程的方式...原创 2020-03-16 23:25:53 · 811 阅读 · 1 评论 -
Rust入坑指南:智能指针
在了解了Rust中的所有权、所有权借用、生命周期这些概念后,相信各位坑友对Rust已经有了比较深刻的认识了,今天又是一个连环坑,我们一起来把智能指针刨出来,一探究竟。原创 2020-03-10 22:42:03 · 1053 阅读 · 0 评论 -
Rust入坑指南:朝生暮死
今天想和大家一起把我们之前挖的坑再刨深一些。在Java中,一个对象能存活多久全靠JVM来决定,程序员并不需要去关心对象的生命周期,但是在Rust中就大不相同,一个对象从生到死我们都需要掌握的很清楚。原创 2020-03-03 22:07:32 · 535 阅读 · 0 评论 -
Rust入坑指南:步步为营
俗话说:“测试写得好,奖金少不了。”原创 2020-02-21 22:54:42 · 1125 阅读 · 0 评论 -
Rust入坑指南:海纳百川
今天来聊Rust中两个重要的概念:泛型和trait。很多编程语言都支持泛型,Rust也不例外,相信大家对泛型也都比较熟悉,它可以表示任意一种数据类型。trait同样不是Rust所特有的特性,它借鉴于Haskell中的Typeclass。简单来讲,Rust中的trait就是对类型行为的抽象,你可以把它理解为Java中的接口。原创 2020-01-15 02:46:28 · 1801 阅读 · 0 评论 -
Rust入坑指南:亡羊补牢
如果你已经开始学习Rust,相信你已经体会过Rust编译器的强大。它可以帮助你避免程序中的大部分错误,但是编译器也不是万能的,如果程序写的不恰当,还是会发生错误,让程序崩溃。所以今天我们就来聊一聊Rust中如何处理程序错误,也就是所谓的“亡羊补牢”。原创 2020-01-01 13:38:47 · 1547 阅读 · 0 评论 -
Rust入坑指南:鳞次栉比
很久没有挖Rust的坑啦,今天来挖一些排列整齐的坑。没错,就是要介绍一些集合类型的数据类型。“鳞次栉比”这个标题是不是显得很有文化?原创 2019-12-02 23:04:03 · 993 阅读 · 0 评论 -
Rust入坑指南:有条不紊
随着我们的坑越来越多,越来越大,我们必须要对各种坑进行管理了。Rust为我们提供了一套坑务管理系统,方便大家有条不紊的寻找、管理、填埋自己的各种坑。Rust提供给我们一些管理代码的特性:**Packages:**Cargo的一个特性,帮助你进行构建、测试和共享crates**Crates:**生成库或可执行文件的模块树Modules和**use:**用于控制代码组织、范围和隐私路径**...原创 2019-11-05 00:25:33 · 1059 阅读 · 0 评论 -
Rust入坑指南:常规套路
搭建好了开发环境之后,就算是正式跳进Rust的坑了,今天我就要开始继续向下挖了。由于我们初来乍到 ,对Rust还不熟悉,所以我决定先走一遍常规套路。变不变的变量学习一门语言第一个要了解的当然就是变量啦。Rust使用关键字let来定义变量。我们写一个简单的demoso easy!等等,这个小红线是怎么回事?编译错误???别着急,哪里不对点哪里。IDEA告诉我,这个错误是...原创 2019-10-09 09:00:00 · 1521 阅读 · 0 评论 -
Rust入坑指南:坑主驾到
欢迎大家和我一起入坑Rust,以后我就是坑主,我主要负责在前面挖坑,各位可以在上面看,有手痒的也可以和我一起挖。这个坑到底有多深?我也不知道,我是抱着有多深就挖多深的心态来的,下面我先跳了,各位请随意。Rust简介众所周知,在编程语言中,更易读的高级语言和控制底层资源的低级语言是一对矛盾体。Rust想要挑战这一现状,它尝试为开发者提供更好的体验的同时给予开发者控制底层细节的权限(比如...原创 2019-09-24 09:00:00 · 1158 阅读 · 0 评论 -
Rust入坑指南:千人千构
坑越来越深了,在坑里的同学让我看到你们的双手!前面我们聊过了Rust最基本的几种数据类型。不知道你还记不记得,如果不记得可以先复习一下。上一个坑挖好以后,有同学私信我说坑太深了,下来的时候差点崴了脚。我只能对他说抱歉,下次还有可能更深。不过这篇文章不会那么深了,本文我将带大家探索Structs和Enums这两个坑,没错,是双坑。是不是很惊喜?好了,言归正传。我们先来介绍Structs。Stru...原创 2019-10-28 21:41:46 · 1183 阅读 · 0 评论 -
Rust入坑指南:核心概念
如果说前面的坑我们一直在用小铲子挖的话,那么今天的坑就是用挖掘机挖的。今天要介绍的是Rust的一个核心概念:Ownership。全文将分为什么是Ownership以及Ownership的传递类型两部分。什么是Ownership每种编程语言都有自己的一套内存管理的方法。有些需要显式的分配和回收内存(如C),有些语言则依赖于垃圾回收器来回收不使用的内存(如Java)。而Rust不属于...原创 2019-10-14 09:00:00 · 1090 阅读 · 0 评论