Menu
CoddyTech

Apa itu 'Option'?

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 35 dari 66.

Dalam pemrograman, kamu sering menghadapi situasi ketika suatu nilai mungkin ada atau mungkin tidak ada. Misalnya, pencarian item dalam list mungkin menemukan item tersebut, atau item itu mungkin tidak ada sama sekali. Bahasa pemrograman tradisional sering menggunakan nilai khusus seperti null atau -1 untuk menyatakan "tidak ada", tetapi pendekatan ini dapat menyebabkan bug dan crash.

Rust menggunakan pendekatan berbeda dengan enum Option<T>. Ini adalah tipe bawaan yang secara eksplisit mewakili kemungkinan tidak adanya nilai. Alih-alih menebak apakah suatu nilai ada, Rust mengharuskan kamu menangani kedua kasus sejak awal.

enum Option memiliki tepat dua varian:

Some(value)  // Berisi nilai
None         // Tidak berisi nilai

Ketika suatu fungsi mungkin tidak mengembalikan nilai, fungsi tersebut mengembalikan Option. Jika ada nilai yang dikembalikan, nilai itu dibungkus dalam Some. Jika tidak ada nilai, fungsi tersebut mengembalikan None.

Ini membuat kemungkinan ketiadaan dinyatakan secara eksplisit dalam sistem tipe, sehingga kamu tidak sengaja menggunakan nilai yang tidak ada.

Kamu sudah melihat Option digunakan pada method .get() milik hash map. Method ini mengembalikan Some(&value) jika sebuah kunci ada, atau None jika tidak ada. Pola ini muncul di seluruh Rust sehingga kodemu menjadi lebih aman dan lebih mudah diprediksi.

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online