Rust从入门到实战系列二百九十六:常用方法(TODO)

关于 String 的常用方法练习,可以查看这里.
你可以在这里找到答案(在 solutions 路径下)
Vector
相比 [T; N] 形式的数组, Vector 最大的特点就是可以动态调整长度。
基本操作

  1. 🌟🌟🌟
    fn main() {
    let arr: [u8; 3] = [1, 2, 3];
    let v = Vec::from(arr);
    is_vec(v);
    let v = vec![1, 2, 3];
    is_vec(v);
    // vec!(…) 和 vec![…] 是 同 样 的 宏 , 宏 可 以 使 用 []、()、{}三 种 形 式 , 因 此…
    let v = vec!(1, 2, 3);
    is_vec(v);
    // …在 下 面 的 代 码 中, v 是 Vec<[u8; 3]> , 而 不 是 Vec
    // 使 用 Vec::new 和 for 来 重 写 下 面 这 段 代 码
    let v1 = vec!(arr);
    is_vec(v1);
    assert_eq!(v, v1);
    println!(“Success!”)
    }
    fn is_vec(v: Vec) {}
  2. 🌟🌟 Vec 可以使用 extend 方法进行扩展
    // 填 空
    fn main() {
    let mut v1 = Vec::from([1, 2, 4]);
    v1.pop();
    v1.push(3);
    let mut v2 = Vec::new();
    v2.__;
    assert_eq!(v1, v2);
    println!(“Success!”)
    }
    将 X 类型转换(From/Into 特征)成 Vec
    只要为 Vec 实现了 From 特征,那么 T 就可以被转换成 Vec 。
  3. 🌟🌟🌟
    // 填 空
    fn main() {
    // array -> Vec
    // impl From<[T; N]> for Vec
    let arr = [1, 2, 3];
    let v1 = (arr);
    let v2: Vec = arr.
    ();
    assert_eq!(v1, v2);
    // String -> Vec
    // impl From for Vec
    let s = “hello”.to_string();
    let v1: Vec = s.();
    let s = “hello”.to_string();
    let v2 = s.into_bytes();
    assert_eq!(v1, v2);
    // impl<'> From<&’ str> for Vec
    let s = “hello”;
    let v3 = Vec::
    (s);
    assert_eq!(v2, v3);
    // 迭 代 器 Iterators 可 以 通 过 collect 变 成 Vec
    let v4: Vec = [0; 10].into_iter().collect();
    assert_eq!(v4, vec![0; 10]);
    println!(“Success!”)
    }
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值