Makro format!
Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 70 dari 75.
Di Rust, makro format! memungkinkan kamu menggabungkan teks dengan variabel secara mudah dibaca dan dapat disesuaikan. Makro ini mirip dengan println!, tetapi alih-alih mencetak output ke konsol, makro ini mengembalikan string yang sudah diformat yang dapat kamu simpan dalam variabel atau gunakan dalam operasi lain.
Sintaks paling sederhana menggunakan placeholder tanpa nama {}:
let name = "Alice";
let age = 30;
let formatted = format!("Name: {}, Age: {}", name, age);
println!("{}", formatted);
// output: Name: Alice, Age: 30Kamu bisa menggunakan nama variabel secara langsung di placeholder:
let name = "Bob";
let age = 25;
let formatted = format!("Name: {name}, Age: {age}");
println!("{}", formatted);
// output: Name: Bob, Age: 25Kamu dapat menentukan posisi argumen menggunakan angka:
let formatted = format!("{1} {0} {2}", "first", "second", "third");
println!("{}", formatted);
// output: second first thirdKamu dapat mengatur cara nilai diformat menggunakan penentu format:
// Pemformatan angka
let pi = 3.1415926;
let formatted_float = format!("{:.2}", pi);
// "3.14"
// Pengisian dengan nol
let padded = format!("{:0>5}", "123");
// "00123"Tantangan
MudahBuat program yang menghasilkan kode rahasia dari nama dan tahun lahir dengan aturan berikut:
- Mengambil huruf pertama nama dan mengubahnya menjadi huruf besar
- Membalik urutan digit tahun
- Mengapit huruf pertama dengan simbol "⭐"
- Menambahkan "-" di antara huruf yang diapit dan tahun yang dibalik
Untuk membalik string, gunakan kode berikut: .to_string().chars().rev().collect::<String>()
Coba sendiri
use std::io;
fn main() {
let mut input_name = String::new();
let mut input_year = String::new();
io::stdin().read_line(&mut input_name).unwrap();
io::stdin().read_line(&mut input_year).unwrap();
let name = input_name.trim();
let year: i32 = input_year.trim().parse().unwrap();
// Tulis kodemu di bawah ini
let secret_code =
println!("{}", secret_code);
}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