Membaca input pengguna
Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 30 dari 75.
Sejauh ini, kita membuat program dengan menuliskan nilai langsung di dalam kode. Namun, program nyata sering kali perlu berinteraksi dengan pengguna dan mendapatkan informasi dari mereka.
Di Rust, kamu bisa mendapatkan input dari pengguna menggunakan library std::io. Library ini menyediakan method untuk membaca berbagai tipe input, seperti bilangan bulat, bilangan floating-point, dan string.
Untuk menggunakan library std::io, kamu perlu mengimpornya terlebih dahulu:
use std::io;Untuk membaca input dari pengguna, kita memerlukan dua baris kode:
let mut my_var = String::new();
// Membuat string kosong untuk menyimpan input
io::stdin().read_line(&mut my_var).unwrap();
// Membaca inputIni akan menyimpan nilai input dalam variabel my_var dengan tipe string.
Jika kamu ingin mendapatkan angka, kamu perlu langkah tambahan untuk mengonversi input teks menjadi angka:
let age: i32 = input.trim().parse().unwrap();.trim() diperlukan karena saat pengguna menekan Enter, karakter baris baru ditambahkan ke input mereka. Misalnya, jika seseorang mengetik "25" dan menekan Enter, input sebenarnya adalah "25\n". .trim() menghapus karakter spasi tambahan ini (spasi, baris baru, dan sebagainya) dari awal dan akhir input.
Jangan terlalu khawatir tentang unwrap() untuk saat ini. Kita akan mempelajarinya nanti. Cukup ketahui bahwa ini membantu kita menangani kemungkinan error dengan cara sederhana (meskipun tidak ideal).
Tantangan
PemulaTulis program yang mendapatkan input dari pengguna (nama mereka), lalu menampilkan Hello, diikuti nama yang dimasukkan pengguna dan tanda seru.
Misalnya, jika pengguna memasukkan Bob, output yang diharapkan adalah Hello, Bob!.
Kamu perlu:
- Buat object
Stringuntuk membaca input. - Minta pengguna memasukkan nama mereka: "
Enter your name:" - Baca nama pengguna menggunakan method
std::ioyang sesuai. - Cetak
Hello,diikuti nama yang disimpan dan tanda seru!di bagian akhir.
Coba sendiri
use std::io;
fn main() {
// Buat object String
let mut name = String::new();
// Minta pengguna memasukkan namanya (gunakan println)
// Baca nama pengguna
// Cetak pesan salam
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaOperator PerbandinganPerbandingan String7Input/Output Dasar
Menampilkan teks di konsolMembaca input penggunaUlasan: Hingga 120Ulasan: Benar atau Salah5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 311Fungsi
Mendeklarasikan FungsiParameter dan ArgumenNilai KembalianBeberapa Nilai KembalianRingkasan: Fungsi SigmaRingkasan: Fungsi Validasi14Iterasi pada Array
Panduan RangeFor Loop yang DisempurnakanBorrow dalam LoopOperasi Umum pada Array3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanInferensi TipeRangkuman: Inisialisasi VariabelKonversi Tipe9Perulangan
For untuk Menelusuri UrutanWhile LoopBreakContinueNested LoopLabel LoopInfinite LoopRingkasan: Input DinamisLatihan sendiri: Compiler Rust online