-
学习新时代编程语言Rust-17重构裤子——面向对象之类型系统
上一期我们学习了HashMap的基本使用,在练习中提到裤子的品牌属性,如果现在需要在我们的String类型的裤子上再像添加编号一样添加个品牌,这样在读取裤子品牌时是不是比较麻烦?!能不能自己创建一个裤子类型,可以方便存储和读取编号、品牌、长度等属性信息? 在Rust中我们可以使用结构体struct创建一个裤子类型。那什么是结构体呢?我们一再强调编程是需要动手的艺术,不是只拿来讲理论背概念的,所以这…- 5
- 0
-
使用Rust开发操作系统(自旋锁以及print!和println!宏实现)
print!和println!宏实现 自旋锁 原子操作 Rust中的原子操作 Ordering 顺序一致性 获取 - 释放 Relaxed 自旋锁的实现 改造之前的代码 print!和println! 接下来要做什么 在上一章中我们实现了基本的打印功能,现在的打印功能使用起来不是很方便,因此我们对之前编写打印功能进行优化 自旋锁 原子操作 为了更好理解自旋锁,我们需要了解一下原子操作,原子操作指在…- 11
- 0
-
学习新时代编程语言Rust-0为什么学习Rust
今天我分享的主题是《新时代的编程语言—— Rust 》 刚看到这个主题是不是觉得有些炒作?! 当然,并不是我自己这样说的,咱也没这个分量去说这个,是吧。这个主题是借鉴于 Carol Nichols在 2019 年的费城新兴技术大会上做的关于 Rust 的主题演讲: 原标题是: Rust A Language for the Next 40 years Carol 是《 Rust 编程语言》的联合作…- 4
- 0
-
[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]
[易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链] 项目实战 实战4:从零实现BTC区块链 我们今天来开发我们的BTC区块链系统。 简单来说,从数据结构的角度上来说,区块链,就是区块组成的链。 以下就是BTC区块链典型的结构: 那最小单元就是区块:block。 这个block包含两部分:区块头,区块体。 我们先忽略Merkle树,先简化所有数据结构,只…- 4
- 0
-
[易学易懂系列|rustlang语言|零基础|快速入门|(18)|use关键词]
[易学易懂系列|rustlang语言|零基础|快速入门|(18)|use关键词] 实用知识 use关键词 我们今天来讲讲use关键词。 1.简单来说,use是给其他方法或资源定义一个别名,然后调用者,就可以直接用这个别名来调用,从而简化代码。 看下例子吧,我们先来看看没有用use的代码: 1// -- Initial code without the `use` keyword -- 2mod p…- 1
- 0
-
使用Rust从零写操作系统 (3) —— 格式化输出
本系列博客系转载,出处: 知乎专栏:从零开始写 OS 所有代码都在:https://github.com/LearningOS/rcore_step_by_step 1本小节代码对应 commit :1b493d3bcaca2d41123adcaaa7174daaa26852a6 2 3 概要 通过上一章,我们已经可以在屏幕上打印简单的字符串了。但是这并不足够,本章我们将实现 rust 中最经典的…- 22
- 0
-
Rust 安装与IDE 的使用
浮点数 阅读全文: http://gitbook.cn/gitchat/activity/5db82d6f4bb3a2686a070b55 您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。- 0
- 0
-
Rust 1.7.0 macro宏的复用 #[macro_use]的用法
Rust 1.7.0 中的宏使用范围包括三种情况: 第一种情况是宏定义在当前文件中,这个文件可能是 crate 默认的 module,也可能是任意的 module 模块。 第二种情况是宏定义在当前 crate ,但是不是在当前文件中,而是其他 module 模块中。 第三种情况是宏定义在其他的 crate 中,或者其他的 crate 子模块中。 使用#[macro_use] 可以使被注解的modu…- 8
- 0
-
那些你不知道的Dart细节之泛型和库(六)
前言 前几篇文章分别讲解了Dart中的变量、内置类型、函数(方法)、异常、类,对Dart的基本语法已经有了很多的了解,那么今天来说一下Dart中的泛型和库。前几篇文章没有看的,建议先看一下前几篇文章。 那些你不知道的Dart细节之变量 那些你不知道的Dart细节之内置类型 那些你不知道的Dart细节之函数(方法) 那些你不知道的Dart细节之操作符、流程控制语句、异常 那些你不知道的Dart细节之…- 5
- 0
-
Dart入门—集合类型
Dart入门—集合类型 Dart核心库提供了List(列表)、Map(映射)、Set(集)三种集合类型 列表(List) 固定长度的列表,一旦定义就无法改变长度 可改变长度的列表,可以根据需要改变长度 几种构造函数 List([int length]) List.unmodifiable(Iterable elements) List.from(Iterable elements, {bool g…- 20
- 0
-
Flutter系列之Dart类和对象
Dart是一门使用类和单继承的面向对象语言 所有的对象都是类的实例,并且所有的类都是Object的子类 1、定义 类的定义用class关键字 如果未显式定义构造函数,会默认一个空的构造函数 使用new关键字和构造函数来创建对象 1class Point { 2 num x; 3 num y; 4 num z; 5} 6 7void main() { 8 var point = new Point(…- 8
- 0
-
Go语言系列(十二)之RabbitMQ消息队列
1. RabbitMQ是什么? MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。 生活场景: 1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给用户。 在这业务场景中…- 44
- 0
-
Go语言编程(五)之常量
在Go语言中,常量是指编译期间就已知且不可改变的值。常量可以是数值类型(包括整型、浮点型和复数类型)、布尔类型、字符串类型等。 字面常量 是指程序中硬编码的常量。Go语言的字面常量是无类型的。只要这个常量在相应类型的值域范围内,就可以作为该类型的常量。 常量定义 通过const关键字,可以给字面常量指定一个友好的名字: 1const Pi float64 = 3.1415926 2 1con…- 4
- 0
-
Go语言编程基础 结构体、切片与映射(四)——切片、range
14 切片的切片 切片可包含任何类型,甚至包括其他切片。 1package main 2 3import "fmt" 4 5func main() { 6 iii := [][]int{ []int{1, 2}, []int{3, 4}, []int{5, 6} } 7 fmt.Println(iii) 8} 9 10 15 向切片追加元素 Go提供了append函数,用于向切…- 6
- 0
-
golang 中fmt用法
fmt包实现了格式化的I/O函数,这点类似C语言中的printf和scanf,但是更加简单. 占位符: 通用占位符: 1%v 值的默认格式。当打印结构体时,“加号”标记(%+v)会添加字段名 2%#v 相应值的Go语法表示 3%T 相应值的类型的Go语法表示 4%% 字面上的百分号,并非值的占位符 5 用法如下: [html] view plain copy package main 1…- 8
- 0
-
Windows内存管理机制及C++内存分配实例(一):进程空间
本文背景: 在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。 本文目的: 对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。 本文内容: 本文一共有六节,由于篇幅较多,故按节发表。其他章节请看本人博客的Windows内存管理及C++内存…- 12
- 0
-
C++中系统内存分区与程序内存分区
在C++中,有内存分成6个区,即系统数据区,自由存储区,文本区(程序代码段),const数据区,全局/静态区,堆区和栈区。 系统数据区:存放的是系统数据,我们是不能自由访问的,有时候windows系统会突然弹出一个消息框,内容是“内存不能为read”就是错误访问系统数据区的结果; 自由存储区:用来存放由C延伸而来的 malloc()函数所分配的数据,它和堆十分相似,不过它用free结束自己的生…- 2
- 0
-
C/C++ 内存管理
文章目录 内存分配 C语言动态内存分配 2.1 malloc和free * 2.2 calloc和free * 2.3 realloc和free * 2.4 总结 1 * 3. C++动态内存分配 2 3.1 new和delete * 3.2 operator new 和 operator delete 3.2.1 原理 * 3.2.2 malloc、operator new、new的调用关系:自…- 31
- 0
-
从零搭建自己的SpringBoot后台框架(十)
一:添加freemarker依赖 1<dependency> 2 <groupId>org.freemarker</groupId> 3 <artifactId>freemarker</artifactId> 4 <version>2.3.28</version> 5</dependency> 6 二:…- 11
- 0
-
从零搭建自己的SpringBoot后台框架(十四)
Hello大家好,本章我们添加shiro权限保护接口功能 。有问题可以联系我mr_beany@163.com。另求各路大神指点,感谢 一:什么是shiro Shiro是一个Java平台的开源权限框架,用于认证和访问授权。具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url)。 用户分配角色,角色定义权限。 访问授权时支持角色或者权限,并…- 6
- 0
-
使用spring boot +WebSocket实现(后台主动)消息推送
https://blog.csdn.net/zhangdehua678/article/details/78913839 前端插件:https://www.22vd.com/48824.html- 10
- 0
-
Spring Boot Log4j2配置
pom.xml 1<dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter</artifactId> 4 <exclusions> 5 <exclusion> 6 <groupId&…- 12
- 0
-
Spring、SpringMVC、SpringBoot、SpringCloud的区别与联系
前言 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。 Spring MVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。主要针对的是网站应用程序或者服务开发——URL路由、Sessi…- 1
- 0
-
Springboot启动过程分析
Springboot启动过程分析 首先从一个入口程序开始 1@SpringBootApplication 2public class SpringLearnApplication { 3 4 public static void main(String[] args) { 5 System.out.println(SpringLearnApplication.class.getClassLoade…- 3
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!