Bahasa Pemrograman Rust
Kata Pengantar
Perkenalan
1.
Memulai
1.1.
Instalasi
1.2.
Hello, World!
1.3.
Hello, Cargo!
2.
Memprogram Game Tebak-tebakan
3.
Konsep Pemrograman Umum
3.1.
Variabel dan Mutabilitas
3.2.
Tipe Data
3.3.
Fungsi
3.4.
Komentar
3.5.
Aliran Kontrol
4.
Memahami Ownership
4.1.
Apa itu Ownership?
4.2.
Reference dan Borrowing
4.3.
Tipe Slice
5.
Menggunakan Struct untuk Menyusun Data Terkait
5.1.
Mendefinisikan dan Instansiasi Struct
5.2.
Contoh Program Menggunakan Struct
5.3.
Sintaks Method
6.
Enum dan Pencocokan Pola
6.1.
Mendefinisikan Enum
6.2.
Konstruk Aliran Kontrol match
6.3.
Aliran Kontrol Ringkas dengan if let
7.
Mengelola Proyek yang Berkembang dengan Packages, Crates, dan Modul
7.1.
Packages dan Crates
7.2.
Mendefinisikan Modul untuk Menongtrol Ruang Lingkup dan Privasi
7.3.
Jalur untuk Merujuk ke Item di Pohon Modul
7.4.
Membawa Jalur ke Cakupan dengan Kata Kunci use
7.5.
Memisahkan Modul menjadi File yang Berbeda
8.
Koleksi Umum
8.1.
Menyimpan Daftar Nilai dengan Vector
8.2.
Menyimpan Teks UTF-8 Encoded dengan String
8.3.
Menyimpan Kunci dengan Nilai Terkait di Hash Map
9.
Penanganan Kesalahan
9.1.
Kesalahan yang Tidak Dapat Dipulihkan dengan panic!
9.2.
Kesalahan yang Dapat Dipulihkan dengan Result
9.3.
panic! atau jangan panic!
10.
Tipe Generik, Trait, dan Lifetime
10.1.
Tipe Data Generik
10.2.
Trait: Mendefinisikan Perilaku Bersama
10.3.
Memvalidasi Reference dengan Lifetime
11.
Menulis Tes Otomatis
11.1.
Cara Menulis Tes
11.2.
Mengontrol Bagaiaman Tes Dijalankan
11.3.
Organisasi Tes
12.
Projek I/O: Membangun Program Baris Perintah
12.1.
Menerima Argumen Baris Perintah
12.2.
Membaca File
12.3.
Refactoring untuk Meningkatkan Modularitas dan Penanganan Kesalahan
12.4.
Mengembangkan Fungsionalitas Library dengan Test Driven Development
12.5.
Bekerja dengan Environment Variable
12.6.
Menulis Pesan Kesalahan ke Standard Error Alih-alih Standard Output
13.
Fitur Bahasa Fungsional: Iterator dan Closure
13.1.
Closure: Fungsi Anonim yang Menangkap Lingkungannya
13.2.
Memproses Serangkaian Item dengan Iterator
13.3.
Meningkatkan Proyek I/O Kami
13.4.
Membandingkan Performa: Loop vs Iterator
14.
Lebih Lanjut Tentang Cargo dan Crates.io
14.1.
Menyesuaikan Build dengan Profil Rilis
14.2.
Menerbitkan Crate ke Crates.io
14.3.
Ruang Kerja Cargo
14.4.
Menginstal Binari dari Crates.io dengan cargo install
14.5.
Memperpanjang Cargo dengan Perintah Khusus
15.
Smart Pointer
15.1.
Menggunakan Box<T> untuk Menunjuk ke Data di Heap
15.2.
Memperlakukan Smart Pointer Seperti Reference Biasa dengan Trait Deref
15.3.
Menjalankan Kode pada Pembersihan dengan Trait Drop
15.4.
Rc<T>, Smart Pointer Reference Terhitung
15.5.
RefCell<T> dan Pola Mutabilitas Interior
15.6.
Siklus Reference Dapat Membocorkan Memori
16.
Konkurensi Tanpa Takut
16.1.
Menggunakan Thread untuk Menjalankan Kode secara Bersamaan
16.2.
Menggunakan Message Passing untuk Mentransfer Data Antar Thread
16.3.
Konkurensi Shared-State
16.4.
Konkurensi yang Dapat Diperluas dengan Trait Sync dan Send
17.
Fitur Pemrograman Berorientasi Objek dari Rust
17.1.
Karakteristik Bahasa Berorientasi Objek
17.2.
Menggunakan Objek Trait yang Memungkinkan Nilai dari Berbagai Tipe
17.3.
Menerapkan Pola Desain Berorientasi Objek
18.
Pola dan Pencocokan
18.1.
Semua Tempat Pola Dapat Digunakan
18.2.
Sanggahan: Apakah suatu Pola Mungkin Gagal Mencocokkan
18.3.
Sintaks Pola
19.
Fitur Lanjutan
19.1.
Unsafe Rust
19.2.
Trait Lanjutan
19.3.
Tipe Lanjutan
19.4.
Fungsi Lanjutan dan Closure
19.5.
Makro
20.
Tugas Akhir: Membangun Server Web Multithreaded
20.1.
Membangun Server Web Single-Threaded
20.2.
Mengubah Server Single-Threaded ke Server Multithreaded
20.3.
Shutdown dan Pembersihan Anggun
21.
Lampiran
21.1.
A - Kata Kunci
21.2.
B - Operator dan Simbol
21.3.
C - Derivable Trait
21.4.
D - Alat Pengembangan yang Berguna
21.5.
E - Edisi
21.6.
F - Terjemahan Buku
21.7.
G - Bagaimana Rust Dibuat dan “Nightly Rust”
Light (default)
Rust
Coal
Navy
Ayu
Bahasa Pemrograman Rust
Appendix
The following sections contain reference material you may find useful in your Rust journey.