Stage 1 | Belajar Rust #2
source link: https://dev.to/myusufadp/stage-1-belajar-rust-2-5al5
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Belajar Rust #2
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!");
}
Enter fullscreen mode
Exit fullscreen mode
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!();
Enter fullscreen mode
Exit fullscreen mode
Compile dan Run Program
➜ ~ rustc src/main.rs
➜ ~ ./main
Halo, dunia!
Enter fullscreen mode
Exit fullscreen mode
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);
Enter fullscreen mode
Exit fullscreen mode
{} → 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);
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
Tanggal: 18
Enter fullscreen mode
Exit fullscreen mode
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");
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
My name is Adi, you can call me Kincup
Enter fullscreen mode
Exit fullscreen mode
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");
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
My name is Kincup, you can call me Adi or Kincup
Enter fullscreen mode
Exit fullscreen mode
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");
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
My name is Adi, you can call me Kincup or Adi
Enter fullscreen mode
Exit fullscreen mode
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);
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
Umur : 23, biner: 10111, hexa: 17, octal: 27
Enter fullscreen mode
Exit fullscreen mode
Basic Math
Kita bisa melakukan kalkulasi basic dan placeholder akan menunjukan hasilnya.
fn main() {
println!("{} * {} = {}", 2, 3, 2 * 3);
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
2 * 3 = 6
Enter fullscreen mode
Exit fullscreen mode
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));
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
("I am super very handsome!", 100)
Enter fullscreen mode
Exit fullscreen mode
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
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
("I am super very handsome!", 100)
Enter fullscreen mode
Exit fullscreen mode
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));
*/
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
Enter fullscreen mode
Exit fullscreen mode
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));
}
Enter fullscreen mode
Exit fullscreen mode
→ Output
("I am super very handsome!", 100)
Enter fullscreen mode
Exit fullscreen mode
Keep Learning Guys
Bantuan Kopi untuk Begadang : https://saweria.co/myusufadp
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK