舉報

會員
Rust Quick Start Guide
Rustisanemergingprogramminglanguageapplicabletoareassuchasembeddedprogramming,networkprogramming,systemprogramming,andwebdevelopment.ThisbookwilltakeyoufromthebasicsofRusttoapointwhereyourcodecompilesanddoeswhatyouintendittodo!ThisbookstartswithanintroductiontoRustandhowtogetsetforprogramming,includingtherustupandcargotoolsformanagingaRustinstallationanddevelopmentworkflow.Thenyou'lllearnaboutthefundamentalsofstructuringaRustprogram,suchasfunctions,mutability,datastructures,implementingbehaviorfortypes,andmanymore.YouwillalsolearnaboutconceptsthatRusthandlesdifferentlyfrommostotherlanguages.AfterunderstandingtheBasicsofRustprogramming,youwilllearnaboutthecoreideas,suchasvariableownership,scope,lifetime,andborrowing.Afterthesekeyideas,youwillexploremakingdecisionsinRustbasedondatatypesbylearningaboutmatchandifletexpressions.Afterthat,you'llworkwithdifferentdatatypesinRust,andlearnaboutmemorymanagementandsmartpointers.
目錄(177章)
倒序
- coverpage
- Title Page
- About Packt
- Why subscribe?
- Packt.com
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- Getting Ready
- Installing Rust
- Starting a new project
- Project metadata
- Dependencies on libraries from crates.io
- Dependencies on Git repositories
- Dependencies on local libraries
- Automatically generated source files
- Compiling our project
- Debug and release builds
- Dynamic libraries software distribution and Rust
- Using crates.io
- Summary
- Basics of the Rust Language
- Functions
- Defining a function
- Modules
- Defining a module
- A module as a section of a file
- A module as a separate file
- Accessing module contents from outside
- Using the item's full name directly
- Using the item's short name
- Public and private module items
- Expressions
- Literal expressions
- Operator expressions
- Array and tuple expressions
- Block expressions
- Branch expressions
- Loop expressions
- while loops
- for loops
- Variables types and mutability
- Type inference
- Data structures
- Mutability of data structures
- More about functions
- Parameters
- Return types
- Error handling
- Using Result to signal success or failure
- Calling functions that return Result
- Implementing behavior for types
- Summary
- The Big Ideas – Ownership and Borrowing
- Scope and ownership
- The stack
- Transferring ownership
- Copying
- Lending
- Lending immutably
- Lending mutably
- Accessing borrowed data
- The lifetime of borrowed data
- Ownership and the self parameter
- Moving self
- Borrowing self
- Mutably borrowing self
- Summary
- Making Decisions by Pattern Matching
- Variable assignment with pattern matching
- Using if let expressions to test whether a pattern matches
- Using match to choose one of several patterns
- Using don't care in patterns
- Moving and borrowing in pattern matches
- Matching tuples and other more complex patterns
- Nested patterns
- Storing a matched value and comparing it to a pattern
- Ignoring most of a data structure
- Gotchas
- Not all values can be matched against a literal pattern
- Patterns assign values to variable names
- Summary
- One Data Type Representing Multiple Kinds of Data
- Enumerations
- Basic enumerations
- Parameterized enumerations
- Checking the value type and extracting parameter values
- Result is an enumeration accessed via the prelude
- Traits and trait objects
- Traits
- Implementing our PrintableDirection trait
- Trait objects
- Using our PrintableDirection trait
- Trait objects only provide access to the trait interface
- Any
- Any can store almost anything
- But to access it we have to already know about the real data type
- Comparison of these techniques
- Summary
- Heap Memory and Smart Pointers
- Box
- Box and variable size
- Box and Any
- Vec and String
- String
- Vec
- Rc
- Weak references
- Cell and RefCell
- Cell
- What's the point?
- RefCell
- Arc
- Mutex and RwLock
- Summary
- Generic Types
- Types with generic type parameters
- Limiting what types can be used for type parameters
- Implementing functionality for types with generic type parameters
- Using generic types as function return values
- Compiler errors involving generic type parameters
- Generic types on functions outside of implementation blocks
- Alternative ways to write trait bounds
- Generic types versus trait objects
- Higher-order functions and trait bounds that represent functions
- Complete implementation of a binary tree with generic type parameters
- Summary
- Important Standard Traits
- Traits that can be derived
- Clone
- Copy
- Debug
- PartialEq
- Eq
- PartialOrd
- Ord
- Hash
- Default
- Traits that enable operators
- Add Mul Sub and Div
- AddAssign MulAssign SubAssign and DivAssign
- BitAnd
- BitAndAssign
- BitOr
- BitOrAssign
- BitXor
- BitXorAssign
- Deref
- DerefMut
- Drop
- Index
- IndexMut
- Neg
- Not
- Rem and RemAssign
- Shl and ShlAssign
- Shr and ShrAssign
- Traits that are implemented automatically
- Sync
- Send
- Sized
- Fn
- FnMut
- FnOnce
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-10 19:46:28
推薦閱讀
- Node.js Design Patterns
- Learning C# by Developing Games with Unity 2020
- Rust編程:入門、實戰(zhàn)與進階
- iOS 9 Game Development Essentials
- NumPy Essentials
- Python編程完全入門教程
- Xamarin.Forms Projects
- 面向?qū)ο蟪绦蛟O(shè)計(Java版)
- 大模型RAG實戰(zhàn):RAG原理、應(yīng)用與系統(tǒng)構(gòu)建
- Learning Probabilistic Graphical Models in R
- Test-Driven JavaScript Development
- Clojure for Machine Learning
- C語言程序設(shè)計
- Selenium WebDriver Practical Guide
- WCF全面解析
- Building Microservices with .NET Core 2.0(Second Edition)
- 計算機視覺增強現(xiàn)實應(yīng)用程序開發(fā)
- XML程序設(shè)計案例教程
- Mastering Software Testing with JUnit 5
- Learning Object-Oriented Programming
- Python編程導(dǎo)論(第2版)
- Java程序員面試筆試通關(guān)寶典
- Mastering Apache Spark
- Microsoft Dynamics NAV 2013 Application Design
- ThinkPHP實戰(zhàn)
- Excel 2010 VBA編程與實踐
- Ionic Cookbook
- Mastering Hibernate
- Android深入淺出
- 游戲服務(wù)器架構(gòu)與優(yōu)化