রাস্ট হচ্ছে মেমরি সেইফ কম্পাইলড্ ল্যাংঙ্গুয়েজ যার পারফর্মেন্স সি/সি++ এর কাছাকাছি বা কখনো কখনো তাদের থেকে ভালো
নতুন প্রজেক্ট তৈরি করা
cargo init YOUR_PROJECT
কোনো CLI ইন্সটল করা
cargo install YOUR_CLI
git ছাড়া প্রজেক্ট তৈরি করা
cargo init YOUR_PROJECT --vcs none
কারেন্ট ডাইরেক্টরিতে প্রজেক্ট তৈরি করা
cargo init .
প্রজেক্ট বিল্ড করা(debug)
cargo build
প্রজেক্ট বিল্ড করা(release)
cargo build --release
টেস্ট রান করা
cargo test
প্রজেক্ট রান করা(debug)
cargo run
প্রজেক্ট রান করা(release)
cargo run --release
অন্য টার্গেট এর জন্য কম্পাইল করা
cargo build --target=YOUR-TARGET
প্রজেক্টের docs জেনারেট করা
cargo doc
nightly toolchain ব্যবহার করা
rustup default nightly
toolchain আপডেট করা
rustup update toolchain
Target ইনস্টল করা
rustup target add TARGET
আর্গুমেন্টে String এবং str দুটাই অ্যালাউ করা
fn the_function(arg: impl AsRef<str>) {
//do something
}
struct এর জন্য কোনো trait ইমপ্লিমেন্ট করা
impl SomeTrait for SomeStruct {
// Trait stuff here
}
trait ডিক্লেয়ার করা
trait SomeTrait {
// Your trait stuff here
}
Panicking
panic!("Houston, we have a problem");
Match
match Somestuff {
2 => println!("It's 2!"),
_ => println!("It's something else")
}
Struct
struct SomeStruct {
some_private_value: String,
pub some_public_value: u64
}
Implementing struct
impl SomeStruct {
pub fn new() {}
}
কোনো ডিপেন্ডেন্সির নামসহ ভার্সন
CRATE = "CRATE_VERSION"
ক্রেটের নির্দিষ্ট ফিচার ব্যবহার করা
CRATE = { version = "VERSION", features = ["FEATURE-1"] }
লিংক টাইম অপ্টিমাইজেশন ব্যবহার করা(release বিল্ড)
[profile.release]
lto=true
লিংক টাইম অপ্টিমাইজেশন ব্যবহার করা(debug বিল্ড)
[profile.debug]
lto=true
The Book
https://docs.rust-lang.org/book
Package registry
https://crates.io
Crates documentations
https://docs.rs
অক্ষর
char
স্ট্রিং
String
ইন্টিজার টাইপ (i8 = 8 bit, i16 = 16 bit, i32 = 32 bit, i64 = 64 bit, i128 = 128 bit, isize = সিস্টেম ডিপেন্ডেন্ট)
i8, i16, i32, i64, i128, isize
ফ্লোটিং পয়েন্ট টাইপ (f32 = 32 bit, f64 = 64 bit)
f32, f64
বুলিয়ান
bool
টাপল/টুপল
(i32, f64, u8)