Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_rust
提交
f1bfb772
S
skill_tree_rust
项目概览
CSDN 技术社区
/
skill_tree_rust
通知
32
Star
7
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f1bfb772
编写于
8月 16, 2022
作者:
J
jackymao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add primitives
上级
6e4dfc04
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
78 addition
and
3 deletion
+78
-3
data/1.rust初阶/2.rust基本概念/1.Rust数据类型/rust_data_type.json
data/1.rust初阶/2.rust基本概念/1.Rust数据类型/rust_data_type.json
+1
-1
data/1.rust初阶/2.rust基本概念/1.Rust数据类型/rust_data_type.md
data/1.rust初阶/2.rust基本概念/1.Rust数据类型/rust_data_type.md
+2
-1
data/1.rust初阶/2.rust基本概念/2.原生数据类型/config.json
data/1.rust初阶/2.rust基本概念/2.原生数据类型/config.json
+4
-1
data/1.rust初阶/2.rust基本概念/2.原生数据类型/primitives.json
data/1.rust初阶/2.rust基本概念/2.原生数据类型/primitives.json
+8
-0
data/1.rust初阶/2.rust基本概念/2.原生数据类型/primitives.md
data/1.rust初阶/2.rust基本概念/2.原生数据类型/primitives.md
+63
-0
未找到文件。
data/1.rust初阶/2.rust基本概念/1.Rust数据类型/rust_data_type.json
浏览文件 @
f1bfb772
{
"type"
:
"code_options"
,
"author"
:
"jacky
_rust
"
,
"author"
:
"jacky
mao_com
"
,
"source"
:
"rust_data_type.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
""
...
...
data/1.rust初阶/2.rust基本概念/1.Rust数据类型/rust_data_type.md
浏览文件 @
f1bfb772
...
...
@@ -6,7 +6,8 @@
Rust 语言设计者对于在内存中操作数据的要求非常高,比如在官方首页的 "Why Rust" 一节,提到了要做到 "memory-efficient" 和 "memory-safe",就是内存高效和内存安全,基于这样的设计目标,Rust 的数据类型设计非常精细。所以深入理解 Rust 类型是学好 Rust 编程的基础。
<!-- 学习 Rust 类型,需要了解这个类型保存在内存的什么地方(栈,堆,静态数据区 等等),占用多大空间(特别是在栈上占用多少空间),怎么操作(如 push, push_str, insert, 等等)。 -->
学习 Rust 类型,需要了解这个类型保存在内存的什么地方(栈,堆,静态数据区 等等),占用多大空间(特别是在栈上占用多少空间),怎么操作(如 push, push_str, insert, 等等)。
下面简要说明一下具体类型。
Rust 的标量类型(scalar type) 是指表示为单一值的类型,有:
...
...
data/1.rust初阶/2.rust基本概念/2.原生数据类型/config.json
浏览文件 @
f1bfb772
...
...
@@ -2,7 +2,9 @@
"node_id"
:
"rust-f71cc0b141fc44be94eb203532dcb0ac"
,
"keywords"
:
[],
"children"
:
[],
"export"
:
[],
"export"
:
[
"primitives.json"
],
"keywords_must"
:
[],
"keywords_forbid"
:
[]
}
\ No newline at end of file
data/1.rust初阶/2.rust基本概念/2.原生数据类型/primitives.json
0 → 100644
浏览文件 @
f1bfb772
{
"type"
:
"code_options"
,
"author"
:
"jackymao_com"
,
"source"
:
"primitives.md"
,
"notebook_enable"
:
false
,
"exercise_id"
:
""
}
\ No newline at end of file
data/1.rust初阶/2.rust基本概念/2.原生数据类型/primitives.md
0 → 100644
浏览文件 @
f1bfb772
# Rust 原生类型
Rust 提供的原生类型有:
标量类型:
-
带符号整数 i8, i16, i32, i64, i128 和 isize
-
无符号整数 u8, u16, u32, u64, u128 和 usize
-
浮点数 f32, f64
-
字符 char, 每个字符占用 4 字节
-
布尔值 true 或 false
-
单元类型,即 ()
组合类型
-
数组 array 如 [1, 2, 3]
-
元组 tuple 如 (1, true)
-
切片 slice
以下不会出现编译错误的是
## 答案
```
rust
fn
main
()
{
let
a
=
42
;
let
a
=
4294967296_i64
;
let
mut
s
=
"12"
;
let
s
=
"true"
;
let
s
=
false
;
}
```
## 选项
### 变量类型不可变
```
rust
fn
main
()
{
let
mut
mutable
=
12
;
mutable
=
21
;
mutable
=
true
;
}
```
### 变量类型 u32 不能出现负值
```
rust
fn
main
()
{
println!
(
"1 + 2 = {}"
,
1i32
+
2
);
println!
(
"1 - 2 = {}"
,
1u32
-
2
);
}
```
### 切片是不定长类型,只能以引用形式赋值或使用。
```
rust
fn
main
()
{
let
xs
:
[
i32
]
=
[
1
,
2
,
3
,
4
,
5
];
let
ys
:
[
i32
;
500
]
=
[
0
;
500
];
}
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录