最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Rust中print和println的區(qū)別實(shí)例解析

 更新時(shí)間:2025年06月25日 09:17:57   作者:菜雞想成為大佬  
Rust中print!和println!宏用于輸出,區(qū)別在于println!自動(dòng)換行,print!不換行,前者適用于同一行內(nèi)組合輸出,后者用于獨(dú)立日志或需換行場景,均支持格式化參數(shù),如{},本文給大家介紹Rust中print和println的區(qū)別,感興趣的朋友一起看看吧

print! 和 println! 的區(qū)別

Rust中的print!println!宏均用于輸出內(nèi)容,兩者的核心差異在于是否自動(dòng)追加換行符。

換行行為不同

print!輸出后不換行,內(nèi)容會(huì)緊接在前一次輸出的末尾。
println!會(huì)在輸出后自動(dòng)添加換行符(\n),使后續(xù)輸出從新行開始。

代碼示例

fn main() {
    print!("Hello ");      // 不換行
    println!("World!");    // 換行
    print!("數(shù)字: ");
    for i in 1..=5 { print!("{} ", i); } // 同一行輸出
    println!();            // 手動(dòng)換行
    println!("第 1 行");   // 自動(dòng)換行
    println!("第 2 行");
}

輸出結(jié)果

Hello World!
數(shù)字: 1 2 3 4 5 
第 1 行
第 2 行

適用場景

print!的典型用途

  • 同一行內(nèi)組合輸出多個(gè)變量或文本。
  • 實(shí)現(xiàn)進(jìn)度條等動(dòng)態(tài)更新效果。
  • 需精確控制輸出格式(如對(duì)齊)。

println!的常規(guī)用途

  • 輸出獨(dú)立完整的日志或調(diào)試信息。
  • 需要每段內(nèi)容獨(dú)占一行的場景。
  • 大多數(shù)默認(rèn)輸出需求。

兩者均支持格式化參數(shù)(如{}占位符),用法完全一致,僅換行行為不同。

Rust 輸出到命令行

在正式學(xué)習(xí) Rust 語言以前,我們需要先學(xué)會(huì)怎樣輸出一段文字到命令行,這幾乎是學(xué)習(xí)每一門語言之前必備的技能,因?yàn)檩敵龅矫钚袔缀跏钦Z言學(xué)習(xí)階段程序表達(dá)結(jié)果的唯一方式。

在之前的 Hello, World 程序中大概已經(jīng)告訴了大家輸出字符串的方式,但并不全面,大家可能很疑惑為什么 println!( "Hello World") 中的 println 后面還有一個(gè) ! 符號(hào),難道 Rust 函數(shù)之后都要加一個(gè)感嘆號(hào)?顯然并不是這樣。println 不是一個(gè)函數(shù),而是一個(gè)宏規(guī)則。這里不需要更深刻的挖掘宏規(guī)則是什么,后面的章節(jié)中會(huì)專門介紹,并不影響接下來的一段學(xué)習(xí)。

Rust 輸出文字的方式主要有兩種:println!() 和 print!()。這兩個(gè)"函數(shù)"都是向命令行輸出字符串的方法,區(qū)別僅在于前者會(huì)在輸出的最后附加輸出一個(gè)換行符。當(dāng)用這兩個(gè)"函數(shù)"輸出信息的時(shí)候,第一個(gè)參數(shù)是格式字符串,后面是一串可變參數(shù),對(duì)應(yīng)著格式字符串中的"占位符",這一點(diǎn)與 C 語言中的 printf 函數(shù)很相似。但是,Rust 中格式字符串中的占位符不是 "% + 字母" 的形式,而是一對(duì) {}。

實(shí)例:runoob.rs 文件

fn main() {
    let a = 12;
    println!("a is {}", a);
}

使用 rustc 命令編譯 runoob.rs 文件:

$ rustc runoob.rs   # 編譯 runoob.rs 文件

編譯后會(huì)生成 runoob 可執(zhí)行文件:

$ ./runoob    # 執(zhí)行 runoob

以上程序的輸出結(jié)果是:

a is 12

如果我想把 a 輸出兩遍,那豈不是要寫成:

println!("a is {}, a again is {}", a, a);

其實(shí)有更好的寫法:

println!("a is {0}, a again is {0}", a);

在 {} 之間可以放一個(gè)數(shù)字,它將把之后的可變參數(shù)當(dāng)作一個(gè)數(shù)組來訪問,下標(biāo)從 0 開始。

如果要輸出 { 或 } 怎么辦呢?格式字符串中通過 {{ 和 }} 分別轉(zhuǎn)義代表 { 和 }。但是其他常用轉(zhuǎn)義字符與 C 語言里的轉(zhuǎn)義字符一樣,都是反斜杠開頭的形式。

fn main() { 
    println!("{{}}"); 
}

以上程序的輸出結(jié)果是:

{}

到此這篇關(guān)于Rust中print和println的區(qū)別的文章就介紹到這了,更多相關(guān)rust print和println區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入了解Rust中引用與借用的用法

    深入了解Rust中引用與借用的用法

    這篇文章主要為大家詳細(xì)介紹了Rust語言中引用與借用的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以了解一下
    2022-11-11
  • 詳解Rust Substrate框架中的Runtime

    詳解Rust Substrate框架中的Runtime

    ubstrate是一個(gè)區(qū)塊鏈開發(fā)框架,它提供了一系列模塊化和可擴(kuò)展的組件,可以幫助開發(fā)人員快速構(gòu)建自定義區(qū)塊鏈。 Runtime是Substrate區(qū)塊鏈的核心部分,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05
  • rust中間件actix_web在項(xiàng)目中的使用實(shí)戰(zhàn)

    rust中間件actix_web在項(xiàng)目中的使用實(shí)戰(zhàn)

    這篇文章主要介紹了rust中間件在項(xiàng)目中的使用實(shí)戰(zhàn),包括自定義中間件,日志中間件,Default?headers,用戶會(huì)話,錯(cuò)誤處理的用法實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Rust中實(shí)例化動(dòng)態(tài)對(duì)象的示例詳解

    Rust中實(shí)例化動(dòng)態(tài)對(duì)象的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Rust中實(shí)例化動(dòng)態(tài)對(duì)象的多種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • 使用Rust實(shí)現(xiàn)日志記錄功能

    使用Rust實(shí)現(xiàn)日志記錄功能

    這篇文章主要為大家詳細(xì)介紹了使用Rust實(shí)現(xiàn)日志記錄功能的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的可以參考一下
    2024-04-04
  • Rust語言從入門到精通系列之Iterator迭代器深入詳解

    Rust語言從入門到精通系列之Iterator迭代器深入詳解

    這篇文章主要為大家介紹了Rust語言從入門到精通系列之Iterator迭代器深入詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Rust使用libloader調(diào)用動(dòng)態(tài)鏈接庫

    Rust使用libloader調(diào)用動(dòng)態(tài)鏈接庫

    這篇文章主要為大家介紹了Rust使用libloader調(diào)用動(dòng)態(tài)鏈接庫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 探索Rust切片與Go有何區(qū)別

    探索Rust切片與Go有何區(qū)別

    這篇文章主要為大家介紹了Rust切片與Go的區(qū)別探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Rust調(diào)用C程序的實(shí)現(xiàn)步驟

    Rust調(diào)用C程序的實(shí)現(xiàn)步驟

    本文主要介紹了Rust調(diào)用C程序的實(shí)現(xiàn)步驟,包括創(chuàng)建C函數(shù)、編譯C代碼、鏈接Rust和C代碼等步驟,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Rust使用Trait對(duì)象實(shí)現(xiàn)多態(tài)的詳細(xì)步驟

    Rust使用Trait對(duì)象實(shí)現(xiàn)多態(tài)的詳細(xì)步驟

    本文詳細(xì)介紹了在Rust中使用Trait對(duì)象實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)的方法,通過一個(gè)圖形渲染系統(tǒng)的案例展示了如何統(tǒng)一管理不同類型的圖形對(duì)象,文章涵蓋了Trait對(duì)象的核心概念、語法、性能考量以及在實(shí)際項(xiàng)目中的應(yīng)用場景,感興趣的朋友跟隨小編一起看看吧
    2025-11-11

最新評(píng)論

四川省| 隆化县| 永嘉县| 边坝县| 遵义县| 唐山市| 石狮市| 江津市| 喀喇| 墨玉县| 长阳| 郴州市| 石屏县| 洪洞县| 石阡县| 喜德县| 集安市| 林州市| 元谋县| 金坛市| 常山县| 冷水江市| 神木县| 临沂市| 东安县| 南开区| 宁武县| 额尔古纳市| 泰州市| 乌苏市| 潞城市| 瓮安县| 上思县| 蓬溪县| 德保县| 淮南市| 通许县| 汕尾市| 任丘市| 毕节市| 临沧市|