第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第9天 Rust 字符串類型

標(biāo)簽:
活動

课程章节: 9.6 Rust 中的多种字符串 String

主讲老师叶枭

课程内容:

今天学习的内容是 Rust 中的字符串类型

字符串类型是一个非常基础和重要的数据类型。
Rust 中表示字符串类型的方式有多种,和其他语言有很大的区别。本节课学习最常用的两种,分别是 &strString

&str

直接使用字符串字面量声明的字符串类型,属于 &str 字符串引用类型。

let s = "hello world";

变量 s 就是 &str 类型。

字符串引用类型的内容保存在数据段中,数据段可以理解为一个 存储数据且数据不发生改变 的区域。比如示例中这个字符串值,在程序的运行过程中是不会发生改变的。

String

有多种方式定义 String 类型的字符串,最常用的是 String::from。

let str = String::from("hello world");

String 类型的字符串,具有所有权,存在堆内存中。而上面 &str 类型的字符串只是一个引用,不存在所有权。

代码中使用字符串

在给函数传参时,一种约定俗成的惯用的方式是:如果参数是字符串类型,参数类型定义为字符串的引用类型。这样在调用函数时,即可以传递字符串引用,也可以使用使用 & 运算符来传递一个 String 类型的字符串。

fn echo (s: &str) {
 println!("{:?}", s)
}

fn main() {
 let s = "hello";
 let t = String::from("world");
    
 echo(s);
 echo(&t);
}

定义结构体时,成员如果是字符串类型,要使用 String 类型:

因为定义结构体时,并不知道该成员的值的大小,只能在将来赋值时动态创建一个字符串值。

struct User {
  // 错误的
  // name: &str, 

  // 正确的
  name: String
}

课程收获

这节课学习了 Rust 中的字符串类型,对于新接触 Rust 的开发者不是很容易一下子就弄懂,因为涉及到底层的内存分配的知识。可以通过使用场景进行简单的分辨,比如在函数传参时使用字符串引用 &str,在定义结构体时使用 String
图片描述

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消