目錄(187章)
倒序
- coverpage
- Title Page
- Second Edition
- Copyright
- Rust Essentials
- Second Edition
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- Starting with Rust
- The advantages of Rust
- The trifecta of Rust - safe fast and concurrent
- Comparison with other languages
- The stability of Rust and its evolution
- The success of Rust
- Where to use Rust
- Servo
- Installing Rust
- rustc--the Rust compiler
- Our first program
- Working with Cargo
- Developer tools
- Using Sublime Text
- The Standard Library
- Summary
- Using Variables and Types
- Comments
- Global constants
- Printing with string interpolation
- Values and primitive types
- Consulting Rust documentation
- Binding variables to values
- Mutable and immutable variables
- Scope of a variable and shadowing
- Type checking and conversions
- Aliasing
- Expressions
- The stack and the heap
- Summary
- Using Functions and Control Structures
- Branching on a condition
- Looping
- Functions
- Documenting a function
- Attributes
- Conditional compilation
- Testing
- Testing with cargo
- The tests module
- Summary
- Structuring Data and Matching Patterns
- Strings
- Arrays vectors and slices
- Vectors
- Slices
- Strings and arrays
- Tuples
- Structs
- Enums
- Result and Option
- Getting input from the console
- Matching patterns
- Program arguments
- Summary
- Higher Order Functions and Error-Handling
- Higher order functions and closures
- Iterators
- Consumers and adapters
- Generic data structures and functions
- Error-handling
- Panics
- Testing for failure
- Some more examples of error-handling
- The try! macro and the ? operator
- Summary
- Using Traits and OOP in Rust
- Associated functions on structs
- Methods on structs
- Using a constructor pattern
- Using a builder pattern
- Methods on tuples and enums
- Traits
- Using trait constraints
- Static and dynamic dispatch
- Built-in traits and operator overloading
- OOP in Rust
- Inheritance with traits
- Using the visitor pattern
- Summary
- Ensuring Memory Safety and Pointers
- Pointers and references
- Stack and heap
- Lifetimes
- Copying and moving values - The copy trait
- Let's summarize
- Pointers
- References
- Match struct and ref
- Ownership and borrowing
- Ownership
- Moving a value
- Borrowing a value
- Implementing the Drop trait
- Moving closure
- Boxes
- Reference counting
- Overview of pointers
- Summary
- Organizing Code and Macros
- Modules and crates
- Building crates
- Defining a module
- Visibility of items
- Importing modules and file hierarchy
- Importing external crates
- Exporting a public interface
- Adding external crates to a project
- Working with random numbers
- Macros
- Why macros?
- Developing macros
- Repetition
- Creating a new function
- Some other examples
- Using macros from crates
- Some other built-in macros
- Summary
- Concurrency - Coding for Multicore Execution
- Concurrency and threads
- Creating threads
- Setting the thread's stack size
- Starting a number of threads
- Panicking threads
- Thread safety
- Shared mutable states
- The Sync trait
- Communication through channels
- Sending and receiving data
- Making a channel
- Sending struct values over a channel
- Sending references over a channel
- Synchronous and asynchronous
- Summary
- Programming at the Boundaries
- When is code unsafe
- Using std::mem
- Raw pointers
- Interfacing with C
- Using a C library
- Inlining assembly code
- Calling Rust from other languages
- Summary
- Exploring the Standard Library
- Exploring std and the prelude module
- Collections - using hashmaps and hashsets
- Working with files
- Paths
- Reading a file
- Error-handling with try!
- Buffered reading
- Writing a file
- Error-handling with try!
- Filesystem operations
- Using Rust without the Standard Library
- Summary
- The Ecosystem of Crates
- The ecosystem of crates
- Working with dates and times
- File formats and databases
- Web development
- Graphics and games
- OS and embedded system development
- Other resources for learning Rust
- Summary 更新時間:2021-07-02 15:31:03
推薦閱讀
- Windows系統(tǒng)管理與服務(wù)配置
- Python程序設(shè)計(第3版)
- 算法精粹:經(jīng)典計算機科學(xué)問題的Python實現(xiàn)
- JavaScript前端開發(fā)與實例教程(微課視頻版)
- 深入理解Java7:核心技術(shù)與最佳實踐
- Python:Master the Art of Design Patterns
- Mathematica Data Analysis
- Python Data Analysis Cookbook
- 第一行代碼 C語言(視頻講解版)
- 深入分析GCC
- AMP:Building Accelerated Mobile Pages
- SEO教程:搜索引擎優(yōu)化入門與進階(第3版)
- LabVIEW入門與實戰(zhàn)開發(fā)100例(第4版)
- 你好!Java
- Java EE 程序設(shè)計
- TensorFlow程序設(shè)計
- OpenCV:Computer Vision Projects with Python
- ROS Robotics Projects
- GitHub Essentials
- 一個APP的誕生:從零開始設(shè)計你的手機應(yīng)用
- 企業(yè)應(yīng)用架構(gòu)模式
- INSTANT Jsoup How-to
- 湖南省大學(xué)生計算機程序設(shè)計競賽試題與應(yīng)用軟件開發(fā)類作品集萃(2005—2016)
- Learning Unreal? Engine iOS Game Development
- 商業(yè)智能深入淺出:Cognos,Informatica技術(shù)與應(yīng)用
- 機器學(xué)習(xí)實戰(zhàn)
- 你不知道的JavaScript(下卷)
- 基于ASP.NET的Web應(yīng)用開發(fā)技術(shù)實用教程
- 西游趣味造物記
- 云計算與數(shù)據(jù)中心自動化