Untuk stage ini masih sangat "Easy Peasy Lemon Squeezy”, dalam stage ini saya akan membahas hal-hal basic mengenai Rust. Jika kalian kepo saya menggunakan Replit untuk menulis code-nya, jika kalian ingin menggunakan local text-editor silahkan saja, tapi jangan lupa install Rust-nya loh wajib hukumnya, banyak tutorial di google dan youtube kok.
Semua Rust code ditulis didalam file dengan .rs extension
1. Program Pertama Saya
fn main() {
println!("Halo, dunia!");
}
fn → function notation
main() → mendeklarasi sebuah main function
Anatomi dari Program Halo, dunia!
- main function adalah awal dari setiap program Rust.
- Apa saja yang diisi dalam sepasang kurung kurawal {} merupakan block of code.
- println! macro menerima string “Halo, dunia!” dan memunculkannya di screen/ terminal.
Apa sih macro?
Macro merupakan sebuah expression yang memiliki tanda seru (bukan berarti dia asik loh tapi tanda ! ← itu) sebelum kurung (), contohnya.
macro_name!();
Compile dan Run Program
➜ ~ rustc src/main.rs
➜ ~ ./main
Halo, dunia!
2. Formating Dasar
Sekarang saya ingin mengenalkan kepada kalian bagaimana untuk format sebuat statement di Rust dengan gaya yang beda-beda. Di bab 1 (anggap aja bab kali ye) kita sudah mengetahui bagaimana cara print sebuah string ke console . “Tapi kan saya gak mungkin mau print string/ kata statik saja?”, eittss tenang saja kita bisa kok print strings dalam format tertentu menggunakan placeholders yang sudah disediakan oleh Rust.
println!("{}", 18);
{} → Placeholder notation
18 → Placeholder value
Note: Rust tidak mengijinkan kita sekalipun/ haram hukumnya untuk print numbers maupun variables secara langsung di println!() macro. Kita perlu placeholder {} untuk print numbers maupun variables.
Single Placeholder
Ketika kita ingin melakukan print sebuah single value kita bisa menggunakan single placeholder
fn main() {
println!("Tanggal: {}", 18);
}
→ Output
Tanggal: 18
Multiple Placeholders
Selain single placeholder, kita juga bisa menggunakan multiple placeholders di println!() macro. Jumlah dari placeholders harus/ wajib (fardhu ain) sama dengan jumlah values yang akan di print.
fn main() {
println!("My name is {}, you can call me {}", "Adi", "Kincup");
}
→ Output
My name is Adi, you can call me Kincup
Positional Arguments
Kita bisa menspesifikan dimana posisi sebuah values berada. Setiap value kita diberikan nomor berdasarkan urutan. Value pertama diberi nilai 0, berikutnya diberi nilai 1, dan seterusnya berurutan.
Kenapa?
Values bisa di taruh di urutan mana saja
Kita bisa menulis value 1 kali dan digunakan beberapa kali
fn main() {
println!("My name is {1}, you can call me {0} or {1}", "Adi", "Kincup");
}
→ Output
My name is Kincup, you can call me Adi or Kincup
Named Arguments
Kita bisa juga memberikan nama argument dan assign sebuah value. Konsep yang diberikan mirip dengan positional arguments namun kita bisa assign value secara explicit.
fn main() {
println!("My name is {name}, you can call me {call} or {name}", name = "Adi",call = "Kincup");
}
→ Output
My name is Adi, you can call me Kincup or Adi
Placeholder Traits
Kita bisa mengkonversi value ke binary, hexadecimal, atau octal
fn main() {
println!("Umur : 23, biner: {:b}, hexa: {:x}, octal: {:o}", 23, 23, 23);
}
→ Output
Umur : 23, biner: 10111, hexa: 17, octal: 27
Basic Math
Kita bisa melakukan kalkulasi basic dan placeholder akan menunjukan hasilnya.
fn main() {
println!("{} * {} = {}", 2, 3, 2 * 3);
}
→ Output
2 * 3 = 6
Placeholder for a Debug Trait
Jika kita ingin mencoba/ testing print banyak nilai namun kita malas menggunakan multiple placeholders, kita bisa menggunakan single placeholder dengan bantuann debug trait ({:?}).
fn main() {
println!("{:?}", ("I am super very handsome!", 100));
}
→ Output
("I am super very handsome!", 100)
3. Printing Style
Macro | Printing style |
---|---|
print!() | print string ke console |
println!() | sama seperti print!(), namun menambahkan enter atau baris baru di akhir string |
eprint!() | print dengan status error |
eprintln!() | sama seperti eprint!(), namun menambahkan enter atau baris baru di akhir |
4. Comments
Comments merupakan instruksi yang bisa dibaca oleh programmer untuk membantu menjelaskan mengenai code. Comments tidak dibaca oleh compiler.
Line Comments //
Comments ini sangat direkomendasikan untuk mengkomentari sebuah line single
// ini fungsi main loh
fn main() {
// ini fakta
println!("{:?}", ("I am super very handsome!", 100)); // jangan lupa ini fakta
}
→ Output
("I am super very handsome!", 100)
Block Comments /* . . . */
Comments ini digunakan untuk men-disable large chunk of code.
// ini fungsi main loh
fn main() {
// ini fakta
/*
println!("{:?}", ("I am super very handsome!", 100));
*/
}
→ Output
Doc Comments /// or //!
→ Outer Doc Comments (///) → ditulis di luar blok code.
→ Inner Doc Comments (//!) → ditulis di dalam blok code.
/// ini outer doc comment
/// jangan lupa loh
fn main() {
//! ini fakta
//! ditulis fakta aja
println!("{:?}", ("I am super very handsome!", 100));
}
→ Output
("I am super very handsome!", 100)
Jika ada kesalahan dalam menyampaikan konsep dan penulisan mohon bantuannya di kolom discussion 🤗. Terima kasih.
#samasamabelajar
LIST COURSE:
Top comments (0)