美文网首页
Rust &str 和String

Rust &str 和String

作者: 空乱木 | 来源:发表于2019-11-10 10:08 被阅读0次

Rust将字符串分为两种类型

  • 固定长度字符串 &str
  • 可增长长度字符串 String
use std::slice;
use std::str;

let story = "Once upon a time...";

let ptr = story.as_ptr();
let len = story.len();

// story has nineteen bytes
assert_eq!(19, len);

// We can re-build a str out of ptr and len. This is all unsafe because
// we are responsible for making sure the two components are valid:
let s = unsafe {
    // First, we build a &[u8]...
    let slice = slice::from_raw_parts(ptr, len);

    // ... and then convert that slice into a string slice
    str::from_utf8(slice)
};

assert_eq!(s, Ok(story));

字符串切片&str是一种引用类型,它由指针和长度信息组成。

  • 图片

&str - 胖指针

  • 指针
  • 长度信息

fn main(){
let str = “hello Rust”;
let ptr = str.as_ptr();
let len = str.len();
println!(“{:p}”,ptr); //0x55db...
println!(“{:p}”,len); //10
}

没有总结完整,待从新梳理;

相关文章

  • [Rust]字符串

    Rust中字符串涉及两种类型:&str和String &str str是Rust的内置类型,&str是对str的借...

  • Rust &str 和String

    Rust将字符串分为两种类型 固定长度字符串 &str 可增长长度字符串 String 字符串切片&str是一种引...

  • rust 将`String` 转换为 `&'static str

    rust 将String 转换为 &'static str

  • Rust -- 字符串

    rust的字符串有两种类型: str 和 String str 和 &str str 是被编码成UTF-8的一个字...

  • Rust: String vs &str

    Rust: String vs &str 当你开始第一次学习Rust的时候,不知不觉中就会开始对string类型感...

  • rust - str - String 学习笔记

    rust中的str, String, 分的比较清.简单的可以理解为: str 是分配在栈上, String分配在堆...

  • 字符串

    str Rust 的核心语言中只 有一种字符串类型: str它通常以被借用的形式出现, &str String 称...

  • rust字符串&str和String

    常用rust字符串类型为&str和String,前者是字符串的引用,后者是基于堆创建的,可增长的字符串。 &str...

  • String() vs new String()

    "str" 和 String("str") //基本类型 typeof ... string new String...

  • Java中数组的创建

    String[] str = new String[]{}; String[] str = new String[...

网友评论

      本文标题:Rust &str 和String

      本文链接:https://www.haomeiwen.com/subject/pjbobctx.html