Rust入坑指南:智慧指標
相關推薦
Rust入坑指南:智慧指標
在瞭解了Rust中的所有權、所有權借用、生命週期這些概念後,相信各位坑友對Rust已經有了比較深刻的認識了,今天又是一個連環坑,我們一起來把智慧指標刨出來,一探究竟。 智慧指標是Rust中一種特殊的資料結構。它與普通指標的本質區別在於普通指標是對值的借用,而智慧指標通常擁有對資料的所有權。在Rust中,如果
Rust入坑指南:核心概念
如果說前面的坑我們一直在用小鏟子挖的話,那麼今天的坑就是用挖掘機挖的。 今天要介紹的是Rust的一個核心概念:Ownership。全文將分為什麼是Ownership以及Ownership的傳遞型別兩部分。 什麼是Ownership 每種程式語言都有自己的一套記憶體管理的方法。有些需要顯式的分配和回收記憶體(如
Rust入坑指南:千人千構
坑越來越深了,在坑裡的同學讓我看到你們的雙手! 前面我們聊過了Rust最基本的幾種資料型別。不知道你還記不記得,如果不記得可以先複習一下。上一個坑挖好以後,有同學私信我說坑太深了,下來的時候差點崴了腳。我只能對他說抱歉,下次還有可能更深。不過這篇文章不會那麼深了,本文我將帶大家探索Structs和Enums這
Rust入坑指南:有條不紊
隨著我們的坑越來越多,越來越大,我們必須要對各種坑進行管理了。Rust為我們提供了一套坑務管理系統,方便大家有條不紊的尋找、管理、填埋自己的各種坑。 Rust提供給我們一些管理程式碼的特性: Packages:Cargo的一個特性,幫助你進行構建、測試和共享crates Crates:生成庫或可執行檔案的模
Rust入坑指南:鱗次櫛比
很久沒有挖Rust的坑啦,今天來挖一些排列整齊的坑。沒錯,就是要介紹一些集合型別的資料型別。“鱗次櫛比”這個標題是不是顯得很有文化? 在Rust入坑指南:常規套路一文中我們已經介紹了一些基本資料型別了,它們都儲存在棧中,今天我們重點介紹3種資料型別:string,vector和hash map。 String
Rust入坑指南:亡羊補牢
如果你已經開始學習Rust,相信你已經體會過Rust編譯器的強大。它可以幫助你避免程式中的大部分錯誤,但是編譯器也不是萬能的,如果程式寫的不恰當,還是會發生錯誤,讓程式崩潰。所以今天我們就來聊一聊Rust中如何處理程式錯誤,也就是所謂的“亡羊補牢”。 基礎概念 在程式設計中遇到的非正常情況通常可以分為三類:失
Rust入坑指南:海納百川
今天來聊Rust中兩個重要的概念:泛型和trait。很多程式語言都支援泛型,Rust也不例外,相信大家對泛型也都比較熟悉,它可以表示任意一種資料型別。trait同樣不是Rust所特有的特性,它借鑑於Haskell中的Typeclass。簡單來講,Rust中的trait就是對型別行為的抽象,你可以把它理解為Ja
Rust入坑指南:步步為營
俗話說:“測試寫得好,獎金少不了。” 有經驗的開發人員通常會通過單元測試來保證程式碼基本邏輯的正確性。如果你是一名新手開發者,並且還沒體會到單元測試的好處,那麼建議你先讀一下我之前的一篇文章程式碼潔癖系列(七):單元測試的地位。 寫單元測試一般需要三個步驟: 準備測試用例,測試用例要能覆蓋儘可能多的程式碼
Rust入坑指南:朝生暮死
今天想和大家一起把我們之前挖的坑再刨深一些。在Java中,一個物件能存活多久全靠JVM來決定,程式設計師並不需要去關心物件的生命週期,但是在Rust中就大不相同,一個物件從生到死我們都需要掌握的很清楚。 在Rust入坑指南:核心概念一文中我們介紹了Rust的幾個核心概念:所有權(Ownership)、所有權轉
Rust入坑指南:齊頭並進(下)
前文中我們聊了Rust如何管理執行緒以及如何利用Rust中的鎖進行程式設計。今天我們繼續學習併發程式設計, 原子型別 許多程式語言都會提供原子型別,Rust也不例外,在前文中我們聊了Rust中鎖的使用,有了鎖,就要小心死鎖的問題,Rust雖然聲稱是安全併發,但是仍然無法幫助我們解決死鎖的問題。原子型別就是程式
Rust入坑指南:居安思危
任何事情都是相對的,就像Rust給我們的印象一直是安全、快速,但實際上,完全的安全是不可能實現的。因此,Rust中也是會有不安全的程式碼的。 嚴格來講,Rust語言可以分為**Safe Rust**和**Unsafe Rust**。Unsafe Rust是Safe Rust的超集。在Unsafe Rust中
Flutter入坑指南:編寫第一個Flutter應用
本文由 愛學園平臺 進行聯合編輯整理輸出 原作者:愛學園——莫比烏斯環 這是 Flutter 系列文章的第二篇,關於 Flutter 的相關學習文章後面還有很多,如果您喜歡的話,請持續關注 ,謝謝! Flutter 是 Google 推出的移動端跨平臺開發框架,使
Flutter入坑指南:開發環境搭建
本文由 愛學園平臺 進行聯合編輯整理輸出 原作者:愛學園——莫比烏斯環 雖說Flutter出現有一段時間了,但大家對它的瞭解卻不是很深,但直到2018谷歌開發者大會在上海的召開,它才真正進入開發者的世界。Flutter的出現為跨平臺開發開闢了新的方向,但是與之相應
Weex 入坑指南:快速開始 Weex 之旅
前言:本文預設你知道 Weex 是什麼,如果不清楚,可以閱讀官網進行了解。 Weex 目前提供了兩個腳手架工具來輔助開發和除錯:weex-toolkit 和 weexpack。weex-toolkit 功能侷限於對 weex 或 vue 頁面的開發輔助上,與 weex-
分散式TensorFlow入坑指南:從例項到程式碼帶你玩轉多機器深度學習
通過多 GPU 並行的方式可以有很好的加速效果,然而一臺機器上所支援的 GPU 是有限的,因此本文介紹了分散式 TensorFlow。分散式 TensorFlow 允許我們在多臺機器上執行一個模型,所以訓練速度或加速效果能顯著地提升。本文簡要介紹了分散式 TensorFlow
機器學習入坑指南(十一):卷積神經網路
上一篇文章中,我們準備好了深度學習所需的資料。為了實現分辨貓狗的目的,我們決定使用卷積神經網路(Convolutional Neural Networks,CNN),目前它在影象識別方面十分受歡迎,那麼到底什麼是卷積神經網路呢?我們應該怎麼去理解它? 1 CNN
機器學習入坑指南(三):簡單線性迴歸
學習了「資料預處理」之後,讓我們一起來實現第一個預測模型——簡單線性迴歸模型。 一、理解原理 簡單線性迴歸是我們接觸最早,最常見的統計學分析模型之一。 假定自變數 xxx與因變數 yyy 線性相關,我們可以根據一系列已知的 (x,y)(x,y)(x,y) 資料
C++“準”標準庫Boost學習指南(1):智慧指標Boost.smart_ptr
我們學習C++都知道智慧指標,例如STL中的std::auto_ptr,但是為什麼要使用智慧指標,使用它能帶給我們什麼好處呢? 最簡單的使用智慧指標可以不會因為忘記delete指標而造成記憶體洩露。還有如果我們開發或者使用第三方的lib中的某些函式需要返回指標,這樣的返回的
SpringBoot入坑指南之六:使用過濾器或攔截器
tps pattern cati 下一個 框架 請求方法 clas simple 依賴 在Web應用中,常常存在攔截全部或部分請求進行統一處理的應用場景,如權限校驗、參數校驗、性能監控等。 在SpringMVC框架中,我們可以通過過濾器或攔截器實現相關功能,spring
SpringBoot入坑指南之七:格式化LocalTime、LocalDate和LocalDateTime
開篇 好久好久沒更新這個文集了,上一次更新我都忘記是什麼時間了,原計劃Spring Boot系列會寫十幾篇文章的,現在才寫到第7篇