Tour of Rust
Lessons
สวัสดี,
บทที่ 1 - พื้นฐาน
The Rust Playground
ตัวแปร
การเปลี่ยนแปลงค่าในตัวแปร
Types พื้นฐาน
การแปลงประเภทของตัวแปรแบบพื้นฐาน
ค่าคงที่
Arrays
Functions
การคืนค่าหลายค่า
การไม่คืนอะไรเลย
บทที่ 1 - สรุป
บทที่ 2 - Basic Control Flow
if/else if/else
loop
while
for
match
Returning Values From loop
การคืนค่าจาก Block Expressions
บทที่ 2 - สรุป
บทที่ 3 - ประเภทโครงสร้างข้อมูลพื้นฐาน
Structures
การเรียกเมธอด
หน่วยความจำ
การสร้างข้อมูลในหน่วยความจำ
Tuple-like Structs
Unit-like Structs
Enumerations
Enumerations With Data
บทที่ 3 - สรุป
Chapter 4 - Generic Types
Generic Types คืออะไร?
ตัวแทนของความว่างเปล่า
Option
Result
Main ที่ผิดพลาดได้
การจัดการ Error แบบสวยงาม
การจัดการ Option/Result แบบขี้เหร่
Vectors
บทที่ 4 - สรุป
บทที่ 5 - ความเป็นเจ้าของ และการยืมข้อมูล
ความเป็นเจ้าของ
การจัดการรีซอร์สโดยอิงตามขอบเขตข้อมูล
การ drop ตามลำดับชั้น
การเปลี่ยนเจ้าของ
การกลับมาเป็นเจ้าของ
การยืมความเป็นเจ้าของด้วยวิธีอ้างอิง
การยืมความเป็นเจ้าของ กับของที่เปลี่ยนแปลงค่าได้ ด้วยวิธีอ้างอิง
การอ้างอิง
การส่งผ่านข้อมูลที่ยืมมา
การอ้างอิงถึงตัวอ้างอิงตัวอื่น
lifetimes ที่ชัดเจน
Lifetimes หลายตัว
Static Lifetimes
Lifetimes In Data Types
บทที่ 5 - สรุป
บทที่ 6 - ข้อความ
การประกาศ String
utf-8 คืออะไร
Escaping Characters
Multi-line String Literals
Raw String Literals
String Literals From Files
String Slice
Chars
String
การส่งพารามิเตอร์ด้วยข้อความ
การสร้าง Strings
การจัดรูปแบบ Strings
การแปลงค่า Strings
บทที่ 6 - สรุป
Chapter 7 - Object Oriented Programming
แล้ว OOP มันคืออะไร?
Rust ไม่ได้เป็น OOP
Encapsulation ด้วยการมีเมธอด
Abstraction ด้วยการทำ Selective Exposure
Polymorphism ด้วย Traits
การสร้างเมธอดไว้ใน Traits
Trait สืบทอดได้
Dynamic vs Static Dispatch
Trait Objects
การจัดการข้อมูลที่ไม่รู้ไซส์
Generic Functions
Generic Function แบบย่อ
Box
กลับมาหา Generic Structs อีกรอบ
บทที่ 7 - สรุป
บทที่ 8 - Smart Pointers
กลับมาเรื่อง การอ้างอิง อีกรอบ
Raw Pointers
Dereferencing
The * Operator
The . Operator
Smart Pointers
Smart Unsafe Code
เพื่อนที่คุ้นเคย
การจัดสรรพื้นที่ใน Heap
กลับมาที่ Main ที่ผิดพลาดได้ อีกครั้ง
Referencing Counting
Sharing Access
Sharing Across Threads
Combining Smart Pointers
บทที่ 8 - สรุป
บทที่ 9 - Project Organization and Structure
Modules
Writing a Program
Writing a Library
Referencing Other Modules and Crates
Referencing Multiple Items
Creating Modules
Module Hierarchy
Inline Module
Internal Module Referencing
Exporting
Structure Visibility
Prelude
Your Own Prelude
บทที่ 9 - สรุป
บทที่ 10 - ตอนจบ