前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2023学习日志

2023学习日志

原创
作者头像
TomoriNao
发布2023-07-06 11:25:16
1290
发布2023-07-06 11:25:16
举报
文章被收录于专栏:每月技术成长每月技术成长

rust

常见集合

Vector储存列表

此处的Vector类似与C++STL库中的Vecotor,是对数组进行封装后的数据结构。

声明Vector变量

可以通过两种方式声明Vector类型的变量

  • Vec::new()函数
  • vec!宏

示例:

代码语言:rust
复制
// Vec::new()函数
let v: Vec<i32> = Vec::new();
// vec!宏
let v = vec![3,4,5];

更新Vector

可以使用push方法来向Vector添加元素

读取Vector

可以使用get方法或下标索引来访问Vector中的元素。

推荐使用get方法来访问Vector中的元素,因为直接访问下标可能会产生越界的错误,而get方法在越界时会返回Nono类型变量。

String

声明String变量

可以通过三种方式声明String变量:

  • String::new() 函数
  • to_string方法
  • String::from()函数

示例:

代码语言:rust
复制
//String::new()函数新建空String变量
let mut m = String::new();
//to_string方法获得String变量
let s = "test".to_string();
//String::from()函数获得String变量
let str_ = String::from("hello");

更新String变量

更新String变量有三种方式:

  • 通过push_strpush方法追加字符串
  • 通过运算符或format!宏拼接字符串

通过运算符拼接字符串将会导致变量所有权的转移

读取String中元素

由于rust底层以字节形式存储String,因此无法直接通过索引来访问String中的元素, 可以先通过chars方法将String变量转换为char类型,再进行访问遍历等操作。

示例:

代码语言:rust
复制
for c in "abcd".chars(){
    println!("{c}");
}

Hash Map

Hash Map一种键值对集合,可以通过get方法,根据key来获取value的值。也可通过for-in循环遍历整个Hash Map。

所有权的改变

对于实现了copy trait的类型,其值可以拷贝进入Hash Map,而对于String这样拥有所有权的值,变量的所有权将会转移到Hash

Map中。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • rust
  • 常见集合
    • Vector储存列表
      • Hash Map
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档