學習新時代編程語言Rust-8復合基本數(shù)據(jù)類型練習

   上一期學習復合數(shù)據(jù)類型時我們留了一個練習題: 獲取當前的月份,如果是 1 月就輸出“現(xiàn)在是一月 ”玫霎,如果是 2 月就輸出”現(xiàn)在是二月凿滤,依次類推。我們一起做一下庶近,首先使用?

   cargo new compound-data-type-exercise?

   創(chuàng)建一個 Rust 項目翁脆,進入項目文件夾,用文本編輯器打開 main.rs 文件鼻种。需要輸出月份反番,我們首先需要定義一個數(shù)組存儲所有月份的中文名

months

? ? ? ? ?編寫代碼時要注意這里的符號都是英文狀態(tài)的,所以我們需要中文英文輸入法來回的切換叉钥。

接下來我們需要獲取當前的月份罢缸,這里需要使用一個第三方庫:chrono,一個支持日期和時間操作的 Rust 庫投队,在項目中使用第三方庫時需要配置Cargo.toml 文件枫疆,在 dependencise 區(qū)域配置依賴庫版本信息

dependencies

  使用第三方庫我們還需要在文件的頭部使用 extern引入庫,我們還需要使用 use 導入包敷鸦,這樣我們使用 chrono 包里的對象方法時就不需要帶 chrono 前綴了,配置好后就可以使用 chrono 提供的 Local 獲取今天的日期并使用 month 方法獲取當前的月份息楔。

extern

? ? ? ? ?我們先把當前的月份輸出到控制臺看一下,保存退出,執(zhí)行 cargo run 編譯執(zhí)行扒披,這個時候 cargo 開始根據(jù)我們在 Cargo.toml 文件里配置的依賴信息下載第三方庫值依,在 Rust 中庫叫 crate,默認情況下這些庫需要通過 Rust 的官方倉庫下載碟案,由于國內(nèi)的網(wǎng)絡環(huán)境可能會比較慢愿险,我們可以配置下 Cargo 讓它使用國內(nèi)的 carte 庫,這里我們使用的是中科大的 crate 庫蟆淀,相關的配置信息:

當前用戶文件夾/.cargo/config

[source.crates-io]

registry = "https://github.com/rust-lang/crates.io-index"

replace-with = 'ustc'

[source.ustc]

registry = "https://mirrors.ustc.edu.cn/crates.io-index"

? ? ? ? ?國內(nèi)有很多公司提供這樣的倉庫類似的還有 Docker 的鏡像倉庫拯啦、Maven 的倉庫澡匪,這為我們開發(fā)人員節(jié)約了很多下載時間。配置好后我們再重新執(zhí)行下 cargo run褒链,這次執(zhí)行的就比較快了唁情,可以在控制臺看到輸出了當前月份 ,我們已經(jīng)可以獲取到當前的月份了甫匹。但是月份是從 1 月開始的甸鸟,而我們的數(shù)組的索引是從 0 開始的,所以我們要把當前的月份跟數(shù)組的索引對應起來還需要減 1兵迅,按照需要我們在控制臺輸出“現(xiàn)在是”抢韭,月份的中文名我們可以用索引去數(shù)組中提取。

main.rs

   編寫好后恍箭,保存退出刻恭,執(zhí)行 cargo run 編譯并執(zhí)行。

    很幸運我們遇到了個錯誤

? ? ? ? ? 這個錯誤信息告訴我們扯夭,數(shù)組的索引需要是 usize 類型而我們現(xiàn)在用的索引是 u32 類型鳍贾,所以我們需要做下類型轉換,在 Rust 中使用 as 做基本數(shù)據(jù)類型間的轉換交洗。

i32 to usize

  修改好后保存退出骑科,再次執(zhí)行 cargo run,

  這次就輸出了現(xiàn)在是八月

success

  我們的練習就完成了构拳。大家可以想下咆爽,如果我們的程序使用 if 實現(xiàn)得需要多少行代碼,現(xiàn)在是 5 行代碼置森,如果用 if 實現(xiàn)得 20 多行吧斗埂?

  大家在完成練習的時候如果遇到問題也盡量按照我們的代碼照著寫把它運行起來,就像練字一樣暇藏,可以先做臨摹蜜笤。

配套視頻內(nèi)容請訪問

Your life is not something that someone gives you. Your life is what you choose yourself. You are the one who chooses how you live.

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末濒蒋,一起剝皮案震驚了整個濱河市盐碱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沪伙,老刑警劉巖瓮顽,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異围橡,居然都是意外死亡暖混,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門翁授,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拣播,“玉大人晾咪,你說我怎么就攤上這事≈洌” “怎么了谍倦?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泪勒。 經(jīng)常有香客問我昼蛀,道長,這世上最難降的妖魔是什么圆存? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任叼旋,我火速辦了婚禮半等,結果婚禮上军浆,老公的妹妹穿的比我還像新娘。我一直安慰自己颅眶,他們只是感情好油讯,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布偷崩。 她就那樣靜靜地躺著,像睡著了一般撞羽。 火紅的嫁衣襯著肌膚如雪阐斜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天诀紊,我揣著相機與錄音谒出,去河邊找鬼。 笑死邻奠,一個胖子當著我的面吹牛笤喳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碌宴,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼杀狡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贰镣?” 一聲冷哼從身側響起呜象,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碑隆,沒想到半個月后恭陡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡上煤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年休玩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡拴疤,死狀恐怖永部,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情呐矾,我是刑警寧澤扬舒,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站凫佛,受9級特大地震影響讲坎,放射性物質發(fā)生泄漏。R本人自食惡果不足惜愧薛,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一晨炕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧毫炉,春花似錦瓮栗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至进陡,卻和暖如春愿阐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背趾疚。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工缨历, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人糙麦。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓辛孵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赡磅。 傳聞我的和親對象是個殘疾皇子魄缚,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容