摘要:
为了演示所有权功能,我们需要一些复杂的数据类型,之前介绍的类型都是存储在栈上的并且当离开作用域就被移除栈,不过我们需要一个存储在堆上的数据来探索Rust是如何知道该在何时清理数据的。 这里使用String作为例子,它的一些例子可能也适用于标准库的或者你自定义的一些复杂数据类型,Rust中有两种字符串 阅读全文
摘要:
首先我们对之前了解到的Rust的所有权进行回顾哈: fn main() { // 程序入口 println!("Hello, world!"); let y = "xxxx".to_string(); // let y1 = String::from("xxxx") another_function 阅读全文
摘要:
所有权: 所有权概念是Rust语言的一个重要特性,因为通过它才使得Rust的“安全”,“高并发”得以发挥出优势。因为它让Rust无需垃圾回收,即可保障内存安全。 1、内存安全 对于C/C++程序员来说,可能一直在跟内存安全打交道,内存泄漏呀、智能指针呀什么的。对于一些别的语言来说,会有垃圾回收(ga 阅读全文
摘要:
上次我们分别介绍了加法的实现逻辑,这里我们要实现一个减法: 减法的实现:我们知道减去一个数就是加上这个数的负数,如:1-1=1+(-1); 计算机中为了实现这个效果使用了一个新概念:二补数,用来表达一个数的负数。 1、二补数: 二补数(2's complement)是一种用二进制表示有号数的方法,也 阅读全文
摘要:
这篇文章主要就Rust的一些比较特殊的基础概念,如变量、数据类型、控制流等进行简单的讲解。 1、变量 需要提到的是Rust是一门专注‘安全’,‘高性能’的语言,所以在变量的时候以及其他特性上,和其他语言有较大的差异,Rust是支持类型推导的,但是默认变量是不可变的。 fn main() { let 阅读全文
摘要:
Rust基础学习: Rust的学习门槛是比较低的,最起码的官网支持所有语言,而且《Rust程序设计》这门基础入门书记在GitBook上也是能找到的,这里就不赘述了,书的学习地址:https://legacy.gitbook.com/book/kaisery/trpl-zh-cn/details Ru 阅读全文
摘要:
首先我们需要了解最基本的逻辑运算,下一几张图是必须要牢牢记住的: 1、基础的逻辑运算 (简单来说:非门就是简单的对输入去反;与门是有0全为0;或门为有1全为1;异或门是两两不同为1) 2、半加法器和全加法器以及简单的4位数的加法逻辑图 Logisim的使用: 首先该软件是用于实现模拟数字电路的工具, 阅读全文
摘要:
有时候我们需要创建一个单单使用typescript的项目,如:我们想使用typescript开发一个网页游戏,如果使用ts文件,每次写完都要tsc的方式输出相应的js文件,我们想能不能通过使用webpack的方式自动编译自动输出。具体实现方式如下: 首先创建一个项目文件,如果没有安装typescri 阅读全文
摘要:
Go语言是谷歌2009发布的第二款开源编程语言 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 因而一直想的是自己可以根据自己学习和使用Go语言编程的心得,写一本Go的书可以帮助想要学习Go语言的初学者快速入门开发和 阅读全文
摘要:
问题一:Docker启动容器时,容器迅速退出? 这个问题在于:第一点:docker容器必须保证前台必须有一个程序运行,否则会自动退出; 第二点: 如果使用 docker run --name test -itd -p 5000:5000 --rm ImageId /bin/bash, 这个命令会使用 阅读全文