(七)Rust结构体 结构体和元组很相似,都能包含不同类型的变量,和元组不同的是,结构体对每一个变量独立命名,使用命名直接访问对应变量。 定义和初始化结构体结构体定义关键词struct用于定义并命名结构体。下面定义了一个结构体: 123456struct User { active: bool, username: String, email: String, sign_in_coun 2024-06-28 Rust
(六)Rust切片类型 切片(Slices)是引用的一种,用来引用集合中连续的一串元素。 假想一个场景,一个字符串处理函数,函数需要将字符串按照空格分隔,同时返回字符串中第一个单词。 在没有切片的情况下,应该如何实现?下面是一个例子: 1234567891011121314151617181920212223// &String类型参数s作为输入,返回字符串中第一个单词结束的索引,索引类型为usizefn fir 2024-06-28 Rust
(五)Rust引用和借用 函数的参数(参数的数据未全部在栈上存储)会转移所有权,Rust中引用传参可以避免所有权转移。引用像是一个指针,它提供了数据存储的地址,通过寻址便能获取实际数据,这和C++语言中的引用传参类似。下面是一个例子: 1234567891011fn main() { let s1 = String::from("hello"); let len = calcula 2024-06-27 Rust
(四)Rust所有权 所有权(Ownership)是Rust最独特的特性,对其他语言也有着深刻的影响。这个特性在不使用垃圾收集器的情况下,保证内存安全性,因而理解所有权是如何工作至关重要。这篇文章将会讲解所有权,其相关特性,例如:借用(borrowing),切片(slices),内存排布(data layout in memory)将会在后续文章中介绍。 所有权(Ownership)所有权是Rust程序控制管理内存的一 2024-06-26 Rust
(三)Rust控制流程 在大多数语言中,在条件满足的情况下执行相应代码或者重复执行代码块是非常基础的。在Rust中可以使用条件表达式和循环来控制代码执行流程。 条件表达式if表达式根据条件是否满足将代码执行分为两个分支。你可以提供一个条件然后声明,如果条件满足,执行这段代码,如果条件不满足,不执行这段代码。下面是一个例子: 123456789fn main() { let number = 3; i 2024-06-25 Rust
(二)Rust函数 函数在Rust中非常常见,在上一节示例中,你已经看到了Rust中程序入口函数main函数。同时你应该也发现了关键字fn可以用来声明函数。 Rust代码中使用蛇形命名法来对函数和变量进行命名。下面是一个例子: 123456789fn main() { println!("Hello, world!"); another_function();}fn 2024-06-24 Rust
(一)Rust基本类型 1 常量类型Rust是一个静态类型语言,每一个变量都应该有确定的数据类型。 1.1 整型类型 长度 有符号 无符号 8-bit i8 u8 16-bit i16 u16 32-bit i32 u32 64-bit i64 u64 128-bit i128 u128 arch isize usize 整型类型的可以使用不同进制进行描述。 数字进制 例子 2024-06-23 Rust
Hexo配置git远程部署 服务端配置1. 创建一个用户,用于使用ssh访问git服务1sudo adduser git 2.添加公钥访问将本地ssh使用的公钥追加到用户授权的公钥列表 1echo "PUBLIC KEY" >> /home/git/.ssh/authorized_keys 3.禁用新建用户的shell权限出于安全考虑,我们需要禁用新建的git 用户的shell 登录权限 2024-06-18
QEMU QEMU简介QEMU 是一个通用的开源机器模拟器和虚拟器。 QEMU 能够用软件模拟完整的机器,而不需要硬件虚拟化支持。通过使用动态翻译,它取得了非常好的性能。 QEMU 还可以与 Xen 和 KVM 虚拟机管理程序集成以提供模拟硬件,同时允许虚拟机管理程序管理 CPU。借助虚拟机管理程序支持,QEMU 可以实现接近本机的 CPU 性能。当 QEMU 直接模拟 CPU 时,它能够运行异构的操作系统 2024-06-16 PVE
NioEventLoop实现 在Netty中,NioEventLoop主要任务为绑定Channel并对Channel的IO事件进行监听。本文中所有内容均来自Netty 4.1.89.Final。 继承关系classDiagram direction BT class AbstractEventExecutor class AbstractExecutorService class AbstractScheduledEventE 2024-06-15 Java > Netty