系列文章目录
Rust 语言是一种高效、可靠的通用高级语言,效率可以媲美 C / C++ 。本系列文件记录博主自学Rust的过程。欢迎大家一同学习。
Rust学习入门–【1】引言
Rust学习入门–【2】Rust 开发环境配置
Rust学习入门–【3】Cargo介绍
Rust学习入门–【4】Rust 输出到命令行
Rust学习入门–【5】源代码文件结构简介
Rust学习入门–【6】Rust 基础语法
Rust学习入门–【7】Rust 数据类型
Rust学习入门–【8】复合类型
Rust学习入门–【9】Rust 函数
Rust学习入门–【10】Rust 条件语句
Rust学习入门–【11】Rust 运算符
Rust学习入门–【12】Rust 循环
Rust学习入门–【13】Rust 字符串(上)
Rust学习入门–【14】Rust 字符串(下)
Rust学习入门–【15】Rust 所有权
Rust学习入门–【16】Rust 借用所有权 Borrowing / 引用
Rust学习入门–【17】Rust Slice(切片)类型
Rust 字符串
Rust 语言提供了两种字符串
Rust 语言提供了两种字符串
- 字符串字面量 &str: Rust 核心内置的数据类型。
- 字符串对象 String: Rust 核心的一部分,只是 Rust 标准库中的一个 公开 pub 结构体。
字符串字面量 &str
字符串字面量 &str 就是在 编译时 就知道其值的字符串类型,是 Rust 语言核心的一部分。
Rust 中的字符串字面量被称之为 字符串切片。因为它的底层实现是 切片。
下面的代码,我们定义了两个字符串字面量 name和 home
实例:
fn main() {
let name:&str="张三";
let home:&str = "湖北";
println!("姓名 : {},家在 :{}",company,location);
}
字符串字面量模式是 静态 的。 这就意味着字符串字面量从创建时开始会一直保存到程序结束。
因为默认是 静态 的,我们也可以主动添加 static 关键字。日常使用常忽略。
运行结果:
姓名 : 张三,家在:武汉
字符串对象
字符串对象是 Rust 标准库提供的内建类型。
与字符串字面量不同的是:字符串对象并不是 Rust 核心内置的数据类型,它只是标准库中的一个 公开 pub 的结构体。
字符串对象在标准库中的定义语法如下
pub struct String
字符串对象是是一个 长度可变的集合,它是 可变 的而且使用 UTF-8 作为底层数据编码格式。
字符串对象在 堆 heap 中分配,可以在运行时提供字符串值以及相应的操作方法。
实例:
下面,分别使用 String::new() 方法和 String::from() 方法创建字符串对象,并输出字符串对象的长度
fn main(){
let empty_string = String::new();
println!("长度是 {}",empty_string.len());
let content_string = String::from("简单教程");
println!("长度是 {}",content_string.len());
}
运行结果:
长度是 0
长度是 12