Rust学习入门--【13】Rust 字符串(上)

系列文章目录

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文斗士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值