Rust 所有權很難?這個開源工具幫你理解
Rust 學習曲線高,其中所有權是最難的點,很多人跨不過去這個坎。
今天發(fā)現(xiàn)了一個開源工具:RustViz,這是一個從簡單的 Rust 程序生成可視化的工具,可以幫助用戶更好地理解 Rust Lifetime 和 Borrowing 機制。
項目地址:https://github.com/rustviz/rustviz,Star 數(shù):1.4k+,點擊文末「閱讀原文」可以直達該項目。
RustViz 生成帶有圖形指示器的 SVG 文件,這些指示器與 mdbook[1] 集成,以便在 Rust 程序中呈現(xiàn)數(shù)據(jù)流的可視化。下面是一個視覺化后的例子:

怎么使用呢?
RustViz 能夠通過用戶定義可視化簡單的 Rust 程序(有一定的限制)。這里將展示如何生成上面提供的示例的 SVG。
在開始之前,你需要安裝好 Rust,Cargo 和 mdbook(Rust 安裝好后,Cargo 默認會安裝好,mdbook 需要單獨安裝)。然后下載 rustviz,進入 rustviz_mdbook 目錄,執(zhí)行如下命令:
$ ./view_examples.sh
Generating visualizations for the following examples:
building copy...
building hatra1...
building hatra2...
building func_take_ownership...
building func_take_return_ownership...
2021-07-07 22:36:13 [INFO] (mdbook::book): Book building has started
2021-07-07 22:36:13 [INFO] (mdbook::book): Running the html backend
Serving HTTP on :: port 8000 (http://[::]:8000/) ...
如果看到以上輸出,那么已經(jīng)成功地生成了 Rust 可視化示例!打開瀏覽器,訪問 http://localhost:8000/。這個界面是可交互的,可以操作查看動畫。
完整的指南,自己如何使用,RustViz 倉庫主頁有較詳細的教程,有興趣的可以跟著一步步學習、操作下,希望這個工具可以幫助你更好的學習 Rust 所有權知識。
參考資料
mdbook: https://github.com/rust-lang/mdBook
我是 polarisxu,北大碩士畢業(yè),曾在 360 等知名互聯(lián)網(wǎng)公司工作,10多年技術研發(fā)與架構經(jīng)驗!2012 年接觸 Go 語言并創(chuàng)建了 Go 語言中文網(wǎng)!著有《Go語言編程之旅》、開源圖書《Go語言標準庫》等。
堅持輸出技術(包括 Go、Rust 等技術)、職場心得和創(chuàng)業(yè)感悟!歡迎關注「polarisxu」一起成長!也歡迎加我微信好友交流:gopherstudio
