当前位置: 首页 > news >正文

仿做国外产品网站出路广州网站推广服务

仿做国外产品网站出路,广州网站推广服务,做带支付平台的协会网站大概,企业网站建设套餐网络服务Rust 中的字符串类型:&str 和 String 文章目录 Rust 中的字符串类型:&str 和 String1. &str:不可变的字符串引用2. String:可变的字符串3、字符串使用综合案例代码执行结果 在 Rust 编程语言中,有两种主要…

Rust 中的字符串类型:&strString

文章目录

  • Rust 中的字符串类型:`&str` 和 `String`
    • 1. &str:不可变的字符串引用
    • 2. String:可变的字符串
    • 3、字符串使用综合案例
      • 代码
      • 执行结果

在 Rust 编程语言中,有两种主要的字符串类型: &strString。这两种类型在不同的场景下有不同的用途和特性。

1. &str:不可变的字符串引用

&str字符串切片类型,它是对已有字符串的引用。通常用于引用固定的字符串字面量或者 String 对象的切片。以下是 &str 的主要特性:

  • 不可变性&str 类型的字符串是不可变的,一旦创建就不能修改其内容。
  • 静态分配&str 类型的字符串的大小在编译时已知,并且通常存储在只读内存中。
  • 不拥有所有权&str 只是对字符串的引用,并不拥有它的所有权。因此,它不负责内存管理。
fn main() {// 创建字符串切片let static_str: &str = "hello world";// 创建字符串切片的引用let static_str_ref: &str = &static_str;// 打印字符串切片println!("Static string slice: {}", static_str);println!("Static string slice reference: {}", static_str_ref);
}

运行结果:

Static string slice: hello world
Static string slice reference: hello world

&str 通常用于函数参数、表示静态的不可变字符串以及字符串切片的处理。

2. String:可变的字符串

String动态字符串类型,它是一个堆上分配的可变的字符串。以下是 String 的主要特性:

  • 可变性String 类型的字符串是可变的,其大小在运行时可以动态变化。因此,你可以修改其内容和大小。
  • 动态分配String 类型的字符串的内存是在堆上动态分配的,可以根据需要动态增长。
  • 拥有所有权String 对象拥有其所包含字符串的所有权,并负责其内存的管理。因此,它负责分配和释放内存。
fn main() {// 创建动态字符串let mut dynamic_string = String::from("hello");// 追加字符串内容dynamic_string.push_str(", world");// 打印动态字符串println!("Dynamic string: {}", dynamic_string);
}

运行结果:

Dynamic string: hello, world

String 通常用于需要动态创建、修改和拥有的字符串,以及对字符串进行各种操作和处理

总的来说,&strString 两种字符串类型各有其特点,你可以根据具体需求选择合适的类型来处理字符串。

3、字符串使用综合案例

代码

fn main() {// 使用字符串字面量创建静态字符串let static_str = "hello world";// 使用 String::from() 方法从字符串字面量创建动态字符串let dynamic_str_from = String::from("hello");// 使用 to_string() 方法从其他类型创建动态字符串let num = 42;let num_to_string = num.to_string();// 使用 String::new() 方法创建空的动态字符串let mut empty_str = String::new();empty_str.push_str("hello 111");empty_str.push_str(" world");// 使用 format! 宏创建格式化的字符串let formatted_str = format!("The answer is {}", 42);// 使用 String::with_capacity() 方法创建具有指定容量的空字符串let mut str_with_capacity = String::with_capacity(10);str_with_capacity.push_str("0123456789");// 不会报错:即使指定了容量为10,push_str() 方法会自动重新分配更大的内存空间来容纳更多的数据。str_with_capacity.push_str("1111111");// 演示字符串创建的结果println!("Static string: {}", static_str);println!("Dynamic string from string literal: {}", dynamic_str_from);println!("String from number: {}", num_to_string);println!("Empty string: {}", empty_str);println!("Formatted string: {}", formatted_str);println!("String with capacity: {:?}", str_with_capacity);
}

执行结果

C:/Users/Administrator/.cargo/bin/cargo.exe run --color=always --package hello-rust --bin hello-rustFinished dev [unoptimized + debuginfo] target(s) in 0.00sRunning `target\debug\hello-rust.exe`
Static string: hello world                
Dynamic string from string literal: hello 
String from number: 42                    
Empty string: hello 111 world             
Formatted string: The answer is 42        
String with capacity: "01234567891111111" 进程已结束,退出代码为 0
http://www.laogonggong.com/news/41526.html

相关文章:

  • wordpress站外链接页面重庆seo整站优化
  • 教育加盟网站建设近一周新闻热点事件
  • 河南省住建局官网惠州seo网站推广
  • 网站上设置返回首页的超链接咋做的沈阳seo公司
  • 上海做淘宝网站谷歌官方网站注册
  • 网站备案 企业备案个人做seo怎么赚钱
  • h5 app开发 网站建设网站性能优化
  • wordpress怎么限制建站数量百度云登录入口官网
  • 网站空间不够用搜索引擎优化的对比
  • 荆门网站开发有哪些seo优化托管
  • 什么网站可以做电影投资公众号怎么开通
  • 如何申请建设个人网站保定百度推广优化排名
  • 小朋友做安全教育的网站宁波搜索引擎优化seo
  • 武汉去施工网今日招工做网站排名优化的公司
  • 网站访问者qq泉州网站建设
  • 长沙制作手机网站的公司品牌定位
  • 东莞智通人才网招聘信息网优化网站怎么真实点击
  • aaa云主机怎么做网站网络市场调研的方法
  • 软文自助发稿软件开发 网站建设关键词优化搜索排名
  • 手机网站建设教程视频郑州网站定制
  • 国企公司网站制作有什么推广产品的渠道
  • 丽水做网站的公司上海网站推广优化
  • 顺义电大网上作业在那个网站做衡阳seo优化报价
  • 设计一套网站费用360广告联盟平台
  • 建设厅网站装修合同模板个人怎么做网站
  • 厦门微信网站建设安卓手机游戏优化器
  • 网站进入沙盒期爱站网 关键词挖掘工具站
  • 广西住房和城乡建设厅网上办事电脑网络优化软件
  • 做网站 花园路国贸什么样的人适合做策划
  • 网站空间到期 数据黑帽seo排名技术