成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Rust 基礎系列 #1: 創建并運行你的首個 Rust 程序

開發
在 Rust 編程系列的第一篇中,你將學習如何用 Rust 編寫和執行你的第一個程序。

Rust 是最快風靡開發者和科技公司的系統編程語言之一。日常使用它的開發者將其評為最受歡迎的編程語言之一,而它 ??已經連續七年獲此殊榮了??!

它是如此的受歡迎,以致于現在有兩股巨大的推力將其帶入 Linux 生態系統中:

而這還僅僅是在 Linux 生態系統中。安卓上的藍牙軟件 ??Gabeldorsche?? 現在也是由 Rust 編寫的。

你是否也看到了 Rust 的流行趨勢?那么你或許也想學習使用 Rust 進行編程。

為什么你要考慮 Rust 而不是其他編程語言?

首先,Rust 是一門 類型安全的編程語言 并且 擁有極其嚴格的編譯期檢查。因此,你首先會 “被迫” 寫不出不安全的代碼(好吧,通常是這樣)。

Rust 編程語言有以下 “目標”:

  • 性能:Rust 的二進制文件和 C 語言的二進制文件一樣快,有時甚至超過了 C++ 的二進制文件!
  • 內存安全:Rust 非常重視內存安全。
  • 并發性:對內存安全的關注消除了很多類似競爭的情況,并幫助你在程序中無畏并發。

以下是在 C/C++ 等語言中可能犯的一些錯誤(但 Rust 不會):

  • 釋放后使用
  • 雙重釋放
  • 越界訪問
  • 使用 ??NULL??
  • 不適當的指針運算或訪問
  • 使用未經初始化的變量
  • 線程不安全的多線程

看看 ??蘋果??、??微軟??、??谷歌?? 等大公司因這類 ??0day?? 錯誤而引起的問題吧。

現在你可能知道了為什么要選擇 Rust 語言而不是其他編程語言,讓我們開始學習 Rust 語言的系列教程吧!

目標受眾

出于對 Rust 的熱愛,我寫了這個系列的 Rust 教程,幫助你熟悉 Rust 編程的概念。

這個教程系列是為已經熟悉 C 和 C++ 等編程語言的人準備的。我假設你已經知道了 變量函數循環 等基本術語。

我對你的唯一要求是你不懈的堅持與努力。

安裝 Rust 工具鏈

我希望你能在本地安裝 ??Rust 工具鏈??。你可以通過運行以下命令來做到這一點: (LCTT 譯注:如果你使用 Linux 發行版,請不要直接安裝軟件源里的 Rust 工具鏈,盡管這樣看起來很便捷。)

curl --proto '=https' --tlsv1.3 -sSf https://sh.rustup.rs | sh

Installing Rust on Ubuntu Linux

Installing Rust on Ubuntu Linux

除了 Rust 基本工具鏈,我還建議再安裝一些工具,這些工具將在開發過程中幫助你:

rustup component add rust-src rust-analyzer rust-analysis

你還需要 ??安裝 gcc??。否則,你可能會遇到“鏈接器 ??cc?? 未找到”的錯誤。該軟件包在不同的發行版中都被稱為 gcc。

在 Ubuntu 和 Debian 上使用:

sudo apt install gcc

?? 如果你不希望在本地安裝 Rust 工具鏈,不用擔心。你還可以直接在你的瀏覽器中運行 Rust 代碼!只要到 ??Rust 試驗場?? 并把所討論的代碼粘貼在那里。

Hello Rust!

自從 丹尼斯·里奇Dennis Ritchie 和 布萊恩?柯林漢Brian Kernighan

因此,讓我們也用 Rust 編寫我們的 Hello World 程序。

我將在我的家目錄里 ??新建一個項目目錄?? 叫做 ??learn-rust-its-foss??。然后,在這里我將新建一個叫 ??hello-world?? 的目錄。最后,在里面新建 ??main.rs?? 文件:

// 這串代碼將打印字符
// "Hello world!" 將被打印到 `標準輸出`
fn main() {
println!("Hello world!");
}

?? 就像 C、C++ 和 Java 源代碼文件相應的擴展名是 ??.c??、??.cpp?? 和 ??.java??,Rust 的源文件擴展名是 ??.rs??。

作為一個 C/C++ 程序員,你可能已經在 ??Linux 上使用 GCC??,在 macOS 上使用 ??Clang??,在 Windows 上使用 MSVC。但是為了編譯 Rust 代碼,該語言的創造者自己提供了一個官方的 ??rustc?? 編譯器。

運行 Rust 程序和 ??執行 C/C++ 程序?? 是一樣的。你首先編譯代碼,然后得到可執行文件,最后再運行這個可執行文件從而來運行代碼。

$ ls
main.rs
$ rustc main.rs
$ ls
main main.rs
$ ./main
Hello world!

很好!

解讀 Rust 代碼

現在你已經編寫、編譯并運行了你的第一個 Rust 程序,讓我們對 “Hello World” 的代碼進行解讀,并理解每一部分。

fn main() {
}

??fn?? 關鍵字用來在 Rust 中聲明一個函數。在它后面 ??main?? 是這個被聲明函數的名字。像許多編譯型編程語言一樣,??main?? 是一個特殊的函數,用來作為你的程序的入口。

任何寫在 ??main?? 函數里的代碼(在大括號 ??{?? ??}?? 之間)將在程序被啟動時運行。

println 宏

在 ??main?? 函數中, 有一個語句(LCTT 譯注:“語句” 區別于 “表達式”):

println!("Hello world!");

就像 C 語言的標準庫有 ??printf?? 函數一樣,Rust 語言的標準庫有 ??println?。宏類似于函數,但它以感嘆號(??!??)來區分。你將在本系列的后面學習宏和函數的知識。

??println?? 宏接收一個格式化的字符串,并把它放到程序的標準輸出中(在我們的例子中,就是終端)。由于我希望輸出一些文本而不是一個變量,我將把文本放在雙引號(??"??)內。最后,我用一個分號來結束這個語句,表示語句的結束。

?? 你只需知道,任何看起來像函數調用但在開頭括號前有感嘆號的東西,就是 Rust 編程語言中的一個宏。

注釋

Rust 遵循已知的 C 編程語言的注釋風格。單行注釋以兩個正斜杠(??//??)開始,多行注釋以 ??/*?? 開始,以 ??*/?? 結束。

// 這是一個多行注釋
// 但是沒有什么阻止你在
// 第二行或第三行也這樣寫
/*
* 這是一個“真?多行注釋”
* 它看起來比較漂亮
*/

總結

你剛剛通過 Hello World 程序邁出了用 Rust 寫代碼的第一步。

作為一種練習,也許你可以編寫并執行一個打印出 ??Yes! I did Rust?? 的 Rust 程序。

在本系列的下一部分中,你將學習在 Rust 程序中使用變量。敬請期待!

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-05-29 16:25:59

Rust函數

2023-06-23 14:15:09

Rust編程

2023-05-04 07:33:39

Rust變量常量

2023-05-14 18:56:50

Rust數據類型

2023-05-23 18:11:12

Rust數組元組

2023-06-15 17:00:11

Rust循環

2023-06-11 17:25:13

Rust條件語句

2023-08-30 19:06:58

2021-07-07 21:40:46

Rust函數勸退

2023-06-19 11:30:19

bashshell

2022-12-19 07:38:02

Rust項目代碼

2015-04-20 10:06:37

PHP Rust 創建PHP 擴展

2023-12-07 08:35:22

2024-11-08 09:19:28

2022-12-30 11:05:40

Rust代碼

2024-03-19 08:54:20

Rust語言內存管理應用程序開發

2023-10-10 11:04:11

Rust難點內存

2024-04-29 06:55:34

RustMIDI應用程序

2024-06-07 08:59:35

2024-09-30 16:25:40

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国内毛片毛片毛片毛片 | 亚洲午夜视频 | 天天躁日日躁狠狠的躁天龙影院 | 久久精品欧美一区二区三区麻豆 | 91久久伊人| 免费午夜剧场 | 中文字幕一区二区三区在线观看 | 亚洲国产精品一区二区三区 | 国产乱精品一区二区三区 | 国产乱码精品一区二区三区中文 | 亚洲精品麻豆 | 免费成人在线网 | www.色.com| 99精品在线观看 | 久久蜜桃资源一区二区老牛 | 蜜桃视频一区二区三区 | 欧美精品一区二区三区四区五区 | 成人在线h | 在线激情视频 | 二区av| 国产午夜av片 | 成人在线视频网址 | 国产美女永久免费无遮挡 | 精品国产一区二区国模嫣然 | 国产探花在线精品一区二区 | 欧美在线a | 亚洲精品视频一区 | 欧美日韩中文在线 | 岛国av在线免费观看 | 国产三级| 视频一区在线 | 91福利在线导航 | 国产精品久久 | 性高湖久久久久久久久3小时 | 米奇7777狠狠狠狠视频 | 日韩波多野结衣 | 色吊丝在线| 欧美网址在线观看 | 亚洲成人一区 | 东方伊人免费在线观看 | 特黄毛片 |