当前位置: 首页 > news >正文

Rust编程语言入门教程 (六)变量与可变性

Rust 系列

🎀Rust编程语言入门教程(一)安装Rust🚪
🎀Rust编程语言入门教程(二)hello_world🚪
🎀Rust编程语言入门教程(三) Hello Cargo🚪
🎀Rust编程语言入门教程(四)猜数游戏:一次猜测🚪
🎀Rust编程语言入门教程(五)猜数游戏:生成、比较神秘数字并进行多次猜测🚪
🎀Rust编程语言入门教程 (六)变量与可变性🚪
🎀Rust编程语言入门教程 (七)函数与控制流🚪

目录

  • Rust 系列
  • 引言
  • 一、变量与可变性
  • 二、变量与常量
    • shadowing
  • 三、标量和复合类型
    • (一) 标量类型
      • ①整数类型(默认类型 i32)
      • ②浮点类型 (默认 f64)
      • ③布尔类型
      • ④字符类型
    • (二)复合类型
      • ①元组(Tuple)
      • ②数组
  • 总结

引言

在 Rust 中,变量默认是不可变的,这种设计有助于防止程序中的意外修改,从而提高代码的安全性和可维护性。通过使用 mut 关键字,可以将变量声明为可变,从而允许在程序运行时修改其值。此外,Rust 提供了常量、标量类型(如整数、浮点数、布尔值和字符)以及复合类型(如元组和数组),这些特性为开发者提供了灵活而强大的工具来构建高效、安全的程序。

一、变量与可变性

声明变量使用 let 关键字默认情况下,变量是不可变的 (Immutable)
不可变的变量不能进行二次赋值
在这里插入图片描述

运行cargo run
可以发现会报错的。
在这里插入图片描述

加上mut就好啦。声明变量时,在变量前面加上mut,就可以使变量可变
在这里插入图片描述

cargo run 运行 这个警告是说还没有引用 x 变量。
在这里插入图片描述

二、变量与常量

常量(constant),常量在绑定值以后也是不可变的,但它与不可变的变量有很多区别:

  • 不可以使用mut常量永远都是不可变的
  • 声明常量使用const 关键字,它的类型必须被标注
  • 常量可以在任何作用域内进行声明,包括全局作用域
  • 常量只可以绑定到常量表达式,无法绑定到函数的调用结果只能在运行时才能计算出的值

在程序运行期间,常量在其声明的作用域内一直有效。
命名规范: Rust 里常量使用全大写字母,每个单词之间用下划线分开,
例如:
MAX POINTS
const MAX_POINTS : u32 = 100_000; //下划线 _ 增强可读性

shadowing

可以使用相同的名字声明新的变量,新的变量就会 shadow(隐藏) 之前声明的同名变量

  • 在后续的代码中这个变量名代表的就是新的变量(例子)
  • shadow 把变量标记为 mut 是不一样的:
  • 如果不使用 let 关键字,那么重新给非 mut 的变量赋值会导致编译时错误,
    而使用 let 声明的同名新变量,也是不可变的.
  • 使用 let 声明的同名新变量,它的类型可以与之前不同
    在这里插入图片描述

三、标量和复合类型

Rust 是静态编译语言,在编译时必须知道所有变量的类型

  • 基于使用的值,编译器通常能够推断出它的具体类型
  • 但如果可能的类型比较多(例如把 String 转为整数的 parse 方法),就必须添加类型的标注,否则编译会报错。
  • 在这里插入图片描述
    这个 u32 是需要写的,不然编译器或者 parse 方法不知道 要把 “42” 字面值解析成哪种整数类型。

(一) 标量类型

一个标量类型代表一个单个的值Rust有四个主要的标量类型:

①整数类型(默认类型 i32)

  • 整数类型没有小数部分
  • 例如 u32就是一个无符号的整数类型,占据32位的空间
  • 无符号整数类型U开头
  • 有符号整数类型i 开头

Rust 的整数类型列表如图:
在这里插入图片描述

每种都分 i 和 u,以及固定的位数
有符号范围:
-(2的n次方 - 1)2的n次方 - 1
无符号范围:
0 2的n次方 - 1

isize 和 usize 类型
isize usize 类型的位数由程序运行的计算机的架构所决定:

  • 如果是64位计算机,那就是64位的
  • 使用 isize 或 usize的主要场景是对某种集合进行索引操作。

整数字面值

  • 除了byte 类型外,所有的数值字面值都允许使用类型后缀。
    例如 57 u8
  • 如果你不太清楚应该使用那种类型,可以使用Rust 相应的默认类型:
  • 整数的默认类型就是 i32
    总体上来说速度很快,即使在64位系统中。
    在这里插入图片描述

整数溢出

例如: u8 的范围是 0-255,如果你把一个 u8 变量的值设为 256,那么

  • 调试模式下编译: Rust 会检查整数溢出,如果发生溢出,程序在运行时就会 panic
  • 发布模式下 ( --release ) 编译: Rust不会检查可能导致 panic 的整数溢出
  • 如果溢出发生: Rust 会执行 “环绕” 操作:
    256 变成 0,257 变成 1 …
    但程序不会 panic。

②浮点类型 (默认 f64)

Rust有两种基础的浮点类型,也就是含有小数部分的类型

  • f32,32位,单精度
  • f64,64位,双精度

Rust 的浮点类型使用了IEEE-754标准来表述
f64 是默认类型,因为在现代 CPU 上 f64 和 f32 的速度差不多,而且精度更高

③布尔类型

Rust的布尔类型也有两个值: true 和 false
一个字节大小
符号是 pool

④字符类型

  • Rust 语言中 char 类型被用来描述语言中最基础的单个字符
  • 字符类型的字面值使用单引号
  • 占用4字节大小
  • 是 Unicode 标量值,可以表示比 ASCIl 多得多的字符内容:拼音、中日韩文、零长度空白字符、emoji 表情等。
  • U+0000 到 U+D7FF
  • U+E000 到 U+10FFFF
    但 Unicode 中并没有 “字符” 的概念,所以直觉上认为的字符也许与 Rust 中的概念并不相符。

(二)复合类型

复合类型可以将多个值放在一个类型里Rust 提供了两种基础的复合类型:

①元组(Tuple)

  • Tuple 可以将多个类型的多个值放在一个类型
  • Tuple 的长度是固定的:一旦声明就无法改变

创建 Tuple

  • 在小括号里,将值用逗号分开
  • Tuple 中的每个位置都对应一个类型,Tuple 中各元素的类型不必相同

x y z 分别对应 500,6.4, 1
在这里插入图片描述

访问 Tuple 的元素
在 tuple 变量使用点标记法,后接元素的索引号

在这里插入图片描述

②数组

  • 数组也可以将多个值放在一个类型
  • 数组中每个元素的类型必须相同
  • 数组的长度也是固定的: 一旦声明就无法改变

声明一个数组
在中括号里,各值用逗号分开。

数组的用处

  • 如果想让你的数据存放在stack(栈)上而不是 heap(堆)上,或者想保证有固定数量的元素,这时使用数组更有好处
  • 数组没有 Vector 灵活
  • Vector和数组类似,它由标准库提供
  • Vector 的长度可以改变
  • 如果你不确定应该用数组还是 Vector,那么估计你应该用 Vector。
  • 在这里插入图片描述

数组的类型
[类型:长度]
例如: let a: [i32; 5] = [1, 2, 3, 4, 5];

另一种声明数组的方法:
如果数组的每个元素值都相同,那么可以在在中括号里指定初始值,然后是一个“ ; ” ,最后是数组的长度
例如:let a = [3; 5]; 它就相当于:let a = [3, 3, 3, 3, 3];

访问数组的元素

  • 数组是 Stack上分配的单个块的内存
  • 可以使用索引来访问数组的元素
  • 如果访问的索引超出了数组的范围,那么:
    编译会通过
    运行会报错(runtime 时会panic)。
    Rust不会允许其继续访问相应地址的内存
    在这里插入图片描述

在这里插入图片描述

总结

Rust 的变量默认不可变,通过 mut 可使其可变,而常量则始终不可变。标量类型(如整数、浮点数、布尔值和字符)和复合类型(如元组和数组)为程序提供了丰富的数据结构支持。变量的 shadowing 机制和类型推断规则进一步增强了 Rust 的灵活性和安全性,使其成为现代系统编程语言中的佼佼者。

相关文章:

Rust编程语言入门教程 (六)变量与可变性

Rust 系列 🎀Rust编程语言入门教程(一)安装Rust🚪 🎀Rust编程语言入门教程(二)hello_world🚪 🎀Rust编程语言入门教程(三) Hello Cargo&#x1f…...

ArcGis和Super Map

1.ArcGIS ArcGIS 是美国环境系统研究所(ESRI)开发的一系列地理信息系统(GIS)软件产品的总称,它提供了一套全面的工具和服务,可用于采集、存储、分析、管理和展示地理数据,在众多领域都有广泛的…...

POI优化Excel录入

57000单词原始录入时间258S 核心代码: List<Word> wordBookList ExcelUtil.getReader(file.getInputStream()).readAll(Word.class);if (!CollectionUtil.isEmpty(wordBookList)) {for (Word word : wordBookList) {//逐条向数据库中插入单词wordMapper.insert(word);}…...

Zookeeper和Kafka的依赖关系

Zookeeper 和 Kafka 是紧密相关的,它们在功能上相互协作,共同为分布式系统提供支持,以下是它们的关系具体介绍: Kafka 依赖 Zookeeper 进行元数据管理 主题信息存储:Kafka 中的主题(Topic)相关信息,如主题的名称、分区数量、副本分布等都存储在 Zookeeper 中。当 Kafk…...

驱动开发、移植

一、任务明确&#xff1a;把创龙MX8的驱动 按照我们的要求 然后移植到 我们的板子 1.Linux系统启动卡制作&#xff0c; sd卡 先按照 《用户手册—3-2-Linux系统启动卡制作及系统固化》 把创龙的Linux系统刷进去。 2. 把TLIMX8-EVM的板子过一遍 把刚刚烧好系统的sd卡插入 创…...

RT-Thread+STM32L475VET6实现红外遥控实验

文章目录 前言一、板载资源介绍二、具体步骤1. 确定红外接收头引脚编号2. 下载infrared软件包3. 配置infrared软件包4. 打开STM32CubeMX进行相关配置4.1 使用外部高速时钟&#xff0c;并修改时钟树4.2 打开定时器16(定时器根据自己需求调整)4.3 打开串口4.4 生成工程 5. 打开HW…...

分布式大语言模型服务引擎vLLM论文解读

论文地址&#xff1a;Efficient Memory Management for Large Language Model Serving with PagedAttention 摘要 大语言模型&#xff08;LLMs&#xff09;的高吞吐量服务需要一次对足够多的请求进行批处理。然而&#xff0c;现有系统面临困境&#xff0c;因为每个请求的键值…...

Bio-ORACLE数据分享[decade 2010-2020] [Surface layers]

Bio-ORACLE数据分享[decade 2010-2020] [Surface layers] 文章目录 Bio-ORACLE数据分享[decade 2010-2020] [Surface layers]前言一、文件分享&#xff08;主要&#xff09;二、相关代码&#xff08;选看&#xff09;总结 Bio-ORACLE数据分享[decade 2010-2020] [Surface layer…...

MySQL六大日志的功能介绍。

前言 首先&#xff0c;MySQL的日志应该包括二进制日志&#xff08;Binary Log&#xff09;、错误日志&#xff08;Error Log&#xff09;、查询日志&#xff08;General Query Log&#xff09;、慢查询日志&#xff08;Slow Query Log&#xff09;、重做日志&#xff08;Redo …...

ChatGPT客户端无法在微软应用商店下载的解决方法

最近网页端的GPT4o只会用how can I assist you 回复了&#xff0c;查了一下发现是类似IP封锁/模型降级等等问题&#xff0c;总之解决方法就是下载客户端。客户端需要通过微软应用商店下载&#xff0c;但是下载时总会出现如下情况&#xff1a; 1.区域和语言没有设置为美国/英语导…...

数仓搭建(hive):DWS层(服务数据层)

DWS层示例: 搭建日主题宽表 需求 维度 步骤 在hive中建数据库dws >>建表 CREATE DATABASE if NOT EXISTS DWS; 建表sql CREATE TABLE yp_dws.dws_sale_daycount( --维度 city_id string COMMENT 城市id, city_name string COMMENT 城市name, trade_area_id string COMME…...

Ollama+DeepSeek+Open-WebUi

环境准备 Docker Ollama Open-WebUi Ollama 下载地址&#xff1a;Ollama docker安装ollama docker run -d \ -v /data/ollama/data:/root/.ollama \ -p 11434:11434 \ --name ollama ollama/ollama 下载模型 Ollama模型仓库 # 示例&#xff1a;安装deepseek-r1:7b doc…...

【笔记】LLM|Ubuntu22服务器极简本地部署DeepSeek+联网使用方式

2025/02/18说明&#xff1a;2月18日~2月20日是2024年度博客之星投票时间&#xff0c;走过路过可以帮忙点点投票吗&#xff1f;我想要前一百的实体证书&#xff0c;经过我严密的计算只要再拿到60票就稳了。一人可能会有多票&#xff0c;Thanks♪(&#xff65;ω&#xff65;)&am…...

FreeSwitch中mod_dptools和mod_easyroute两个模块及应用场景

FreeSWITCH 中的 mod_dptools 和 mod_easyroute 是两个功能不同的模块&#xff0c;分别服务于呼叫控制和动态路由场景。以下是详细介绍&#xff1a; mod_dptools 功能概述 mod_dptools&#xff08;Dialplan Tools&#xff09;是 FreeSWITCH 最核心的模块之一&#xff0c;提供了…...

【Java】泛型与集合篇 —— Set 接口

目录 Set 接口及实现类HashSet 类特点内部实现构造方法LinkedHashSet 类基本概念特点构造方法常用方法适用场景用 Set 对象实现集合运算TreeSet 类特性构造方法常用方法注意事项对象顺序自然排序定制排序注意事项Set 接口及实现类 HashSet 类 HashSet 是 Java 集合框架中 Set…...

DeepSeek 助力 Vue 开发:打造丝滑的右键菜单(RightClickMenu)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

数据结构与算法面试专题——堆排序

完全二叉树 完全二叉树中如果每棵子树的最大值都在顶部就是大根堆 完全二叉树中如果每棵子树的最小值都在顶部就是小根堆 设计目标&#xff1a;完全二叉树的设计目标是高效地利用存储空间&#xff0c;同时便于进行层次遍历和数组存储。它的结构使得每个节点的子节点都可以通过简…...

【Mysql】索引

【Mysql】索引 一、索引的简介二、索引结构2.1 Hash2.2 二叉搜索树2.3 B树2.4 B树 三、索引分类3.1 主键索引3.2 普通索引3.3 唯一索引3.4 全文索引3.5 聚集索引3.6 非聚集索引3.7 索引覆盖 四、使用索引4.1 自动创建索引4.2 手动创建索引4.2.1 主键索引4.2.2 唯一索引4.2.3 普…...

qt的下载安装详细介绍

下载 我们可以在国内的镜像网站上下载qt安装包&#xff0c;按需下载&#xff1a; 我的需求是在windows上运行&#xff0c;x64的qt5.15.2,所以我下载的是qt-unified-windows-x64-4.6.0-online.exe 下载完成之后&#xff0c;我们来到存放该exe文件的目录&#xff0c;打开命令窗…...

Eclipse插件开发六:使用Web前端技术开发AI助手页面

之前的过程中&#xff0c;我们都不怎么熟悉Eclipse的哪些API&#xff0c;样式也没发怎么去修改&#xff0c;现在我们要修改为用html的方式来编写. 准备一个AI助手聊天页面的html.css,js代码 效果如下所示。 1.快速demo 1.1.准备前端代码 确保准备的前端代码可以在浏览器正常…...

Jackson使用

Jackson 是一个功能强大的 JSON 处理库&#xff0c;除了基本的序列化和反序列化功能外&#xff0c;它还提供了许多其他功能&#xff0c;以满足不同的需求。以下是一些常用的高级功能&#xff1a; 0.普通序列化反序列化 序列化 import com.fasterxml.jackson.databind.ObjectM…...

Maven——Maven开发经验总结(1)

摘要 本文总结了 Maven 开发中的多个关键经验&#xff0c;包括如何根据版本号决定推送到 releases 或 snapshots 仓库&#xff0c;如何在构建过程中跳过测试&#xff0c;父项目如何控制子项目依赖版本&#xff0c;父项目依赖是否能传递到子项目&#xff0c;如何跳过 Maven dep…...

MyBatis-Plus之通用枚举

MyBatis-Plus之通用枚举 前言 MyBatis-Plus中提供了通用枚举&#xff0c;简单来说就是将数据库中的某一字段的代替的含义转换成真实的含义将数据展示给用户&#xff0c;用户在存储时也会将真实值转换成代替的数字存入到数据库中。举个例子&#xff1a;用户性别在数据库中存储…...

React通用登录/注销功能实现方案(基于shadcn/ui)

React通用登录/注销功能实现方案&#xff08;基于shadcn/ui&#xff09; 一、功能需求分析二、通用功能封装1. 通用登录表单组件2. 认证Hook封装 三、功能使用示例1. 登录页面实现2. 用户菜单实现 四、路由保护实现五、方案优势 一、功能需求分析 需要实现以下核心功能&#x…...

AI工具篇:利用DeepSeek+Kimi 辅助生成综述汇报PPT

随着科研和学术报告需求的增加&#xff0c;如何高效地准备一份结构清晰、内容充实的PPT已成为许多研究者的挑战。 传统的PPT制作过程繁琐&#xff0c;需要大量文献收集、数据分析和设计工作&#xff0c;而AI工具能够帮助提升效率&#xff0c;减少重复劳动。 本文将介绍如何使用…...

审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空

如果查询 DBA_AUDIT_TRAIL 时发现 SQL_TEXT 列为空&#xff0c;但其他字段&#xff08;如 OS_USERNAME、USERNAME、TIMESTAMP 等&#xff09;有数据&#xff0c;可能是由于以下原因之一。以下是可能的原因及解决方法&#xff1a; 1. 审计级别未启用扩展模式 默认情况下&#x…...

HTTP 和RESTful API 基础,答疑

一文搞懂RESTful API - bigsai - 博客园 1. API 路径 开头必须 /&#xff0c;表示绝对路径&#xff0c;不支持 . 或 ..&#xff08;相对路径&#xff09;。API 结尾 / 通常不需要&#xff0c;但部分框架会自动处理 / → 无 /。 ✅ 推荐 GET /api/v1/products # 资源集合…...

手写简易RPC(实践版)

首先了解rpc rpc-远程过程调用&#xff0c;openFeign&#xff0c;Dubbo都可以算作rpc&#xff0c;以微服务来具体说明&#xff0c;就是在本地不需要去发送请求&#xff0c;通过rpc框架&#xff0c;像调用本地方法一样调用其他服务的方法&#xff0c;本质上还是要经过网络&…...

Day6 25/2/19 WED

【一周刷爆LeetCode&#xff0c;算法大神左神&#xff08;左程云&#xff09;耗时100天打造算法与数据结构基础到高级全家桶教程&#xff0c;直击BTAJ等一线大厂必问算法面试题真题详解&#xff08;马士兵&#xff09;】https://www.bilibili.com/video/BV13g41157hK?p4&v…...

【DL】浅谈深度学习中的知识蒸馏 | 输出层知识蒸馏

目录 一 核心概念与背景 二 输出层知识蒸馏 1 教师模型训练 2 软标签生成&#xff08;Soft Targets&#xff09; 3 学生模型训练 三 扩展 1 有效性分析 2 关键影响因素 3 变体 一 核心概念与背景 知识蒸馏&#xff08;Knowledge Distillation, KD&#xff09;是一种模…...

机器学习PCA和LDA

主成分分析&#xff08;PCA, Principal Component Analysis&#xff09;和线性判别分析&#xff08;LDA, Linear Discriminant Analysis&#xff09;是两种常用的降维方法&#xff0c;它们虽然都用于数据降维&#xff0c;但核心思想和应用场景不同。 PCA&#xff08;主成分分析…...

tcp协议连接,和传输数据

1、连接 这个是通用的 2、传送数据 当连接建立后&#xff0c;客户端和服务器都可以主动发送数据&#xff0c;分别如下 1》客户端先发送数据 这里是单向的&#xff0c;服务器没有对客户端的数据内容进行应答&#xff0c;只是单纯的对报文应答ack 2》服务器先发送数据...

【异常错误】pycharm debug view变量的时候显示不全,中间会以...显示

异常问题&#xff1a; 这个是在新版的pycharm中出现的&#xff0c;出现的问题&#xff0c;点击view后不全部显示&#xff0c;而是以...折叠显示 在setting中这么设置一下就好了&#xff1a; 解决办法&#xff1a; https://youtrack.jetbrains.com/issue/PY-75568/Large-stri…...

Java基础——代理模式

代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问&#xff0c;这样就可以在不修改原目标对象的前提下&#xff0c;提供额外的功能操作&#xff0c;扩展目标对象的功能。 一、代理模式的主要作用 控制访问&#xff1a;通…...

解锁机器学习核心算法|主成分分析(PCA):降维的魔法棒

一、引言 在机器学习的庞大算法体系中&#xff0c;有十种算法被广泛认为是最具代表性和实用性的&#xff0c;它们犹如机器学习领域的 “十大神器”&#xff0c;各自发挥着独特的作用。这十大算法包括线性回归、逻辑回归、决策树、随机森林、K - 近邻算法、K - 平均算法、支持向…...

sql注入漏洞

目录 一、SQL注入概述 例子背景 正常情况下的查询 SQL注入攻击 利用优先级进行攻击 二、解决SQL注入 使用PreparedStatement接口 步骤和方法 1. 创建PreparedStatement对象 2. 向占位符传入值 3. 执行SQL语句 示例 总结 SQL 注入是一种常见的网络攻击手段。通俗来…...

spring微服务+dubbo框架,某一服务启动时提示多个bean存在

在java的springboot项目中使用DubboService的注解的实现类中&#xff0c;在引用本模块的类时&#xff0c;使用的DubboRefrence注解&#xff0c;在启动项目时报错&#xff0c;提示该类需要以一个bean对象&#xff0c;但是存在了两个&#xff0c;把DubboRefrence的注解改成Autowi…...

React useState 和 useEffect 使用坑点注意总结

React Hooks 使用注意事项 Area: Hooks Date: February 10, 2025 Important: &#x1f31f;&#x1f31f;&#x1f31f; React Hooks 注意事项 要点&#xff1a; useState 的初始化值 只在第一次渲染时计算&#xff0c;并且这个值不会随着组件重新渲染而更新。useEffect 可…...

使用rknn进行yolo11-pose部署

文章目录 概要生成ONNX生成RKNN实测效果概要 使用 RKNN 进行 YOLOv11 Pose 部署的必要性在于,RKNN 能将 YOLOv11 Pose 模型转化为适合 Rockchip 硬件平台(如 RV1109、RV1126)执行的格式,充分利用其 AI 加速功能,显著提高推理速度和效率。此外,RKNN 提供模型优化(如量化…...

开源语音克隆项目 OpenVoice V2 本地部署

#本机环境 WIN11 I5 GPU 4060ti 16G 内存 32G #开始 git clone https://github.com/myshell-ai/OpenVoice.git conda create -n opvenv python3.9 -y conda activate opvenv pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/…...

YOLOv12从入门到入土(含结构图)

论文链接&#xff1a;https://arxiv.org/abs/2502.12524 代码链接&#xff1a;https://github.com/sunsmarterjie/yolov12 文章摘要&#xff1a; 长期以来&#xff0c;增强YOLO框架的网络架构一直至关重要&#xff0c;但一直专注于基于cnn的改进&#xff0c;尽管注意力机制在建…...

8.【线性代数】——求解Ax=b

八 求解Axb 1. 解Axb求特解 x p x_p xp​求特解 x n x_n xn​所有解 2. Axb什么时候有解3. A m ∗ n A_{m * n} Am∗n​不同秩的Axb解分析3.1 列满秩 rn<m3.2 行满秩 rm<n3.3 rmn3.4 r<m 且 r < n3.5 综述 1. 解Axb 求解 { x 1 2 x 2 2 x 3 2 x 4 b 1 2 x 1…...

【Quest开发】全身跟踪

软件&#xff1a;Unity 2022.3.51f1c1、vscode、Meta XR All in One SDK V72 硬件&#xff1a;Meta Quest3 最终效果&#xff1a;能像meta的操作室沉浸场景一样根据头盔移动来推断用户姿势&#xff0c;实现走路、蹲下、手势匹配等功能 需要借助UnityMovement这个包 GitHub …...

Spring Boot 示例项目:从零开始构建 Web 应用

一、项目概述 本文档将指导您通过一个示例项目,了解如何使用 Spring Boot 框架构建一个简单的 Web 应用程序。该项目涵盖了从数据模型定义到控制器、服务层以及数据访问层的完整开发流程,帮助您快速掌握 Spring Boot 的基本使用方法。 二、项目结构 1. 项目模块 本示例项…...

Windows 启动 SSH 服务报错 1067

Windows 启动 SSH 服务报错 1067 一、原本安装的 Windows 自带的 SSH 服务 按 Windows 键 -> 设置 -> 系统 -> 可选功能 在 添加的功能 查看是否安装了 OpenSSH 服务 一开始 执行 net start sshd 是可以正常启动的 并且其他机器也可以通过 ssh 访问 这个电脑 但是有…...

【AI战略思考15】我对做自媒体视频博主的初步探索和一些思考

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 导言 因为自己找工作可能没那么快和顺利&#xff0c;事实是比我之前想象的要难很多&#xff0c;所以这几天探索了下自己能否尝试做自媒体或者视频博主来尝试赚点钱&#xff0c;如果做…...

零基础学QT、C++(一)安装QT

目录 如何快速学习QT、C呢&#xff1f; 一、编译器、项目构建工具 1、编译器&#xff08;介绍2款&#xff09; 2、项目构建工具 二、安装QT 1、下载QT安装包 2、运行安装包 3、运行QT creator 4、导入开源项目 总结 闲谈 如何快速学习QT、C呢&#xff1f; 那就是项目驱动法&…...

Word接入DeepSeek(API的作用)

1.打开”Word”&#xff0c;点击“文件”。 2.点击“选项”。 3.点击“信任中心”——“信任中心设置”。 4. 勾选”启用所有宏“&#xff0c;点击”确定“。 5.点击“自定义功能区”&#xff0c;勾选上“开发工具”&#xff0c;点击“确定”。 6.返回“文件——开发工具“下的…...

ok113i——交叉编译音视频动态库

提示&#xff1a;buildroot支持ffmpeg和SDL&#xff0c;但博主的ffmpeg是按下面方法编译通过&#xff0c;SDL使用buildroot直接编译也通过&#xff1b; 1. 下载ffmpeg源码 下载链接&#xff1a;https://github.com/FFmpeg/FFmpeg/tags 根据版本需要自行下载压缩包&#xff0c…...

CSS中五种定位方式(position)对比分析

在 CSS 中&#xff0c;定位方式&#xff08;position&#xff09;决定了元素如何相对于其参照物进行定位&#xff0c;同时影响文档流的布局。以下是五种定位方式的对比、参照物说明及代码示例&#xff1a; 1. position: static&#xff08;默认定位&#xff09; 参照物&#x…...