Skip to main content

Rusty Diary (03)

· One min read
Doko
Writer

Sau một thời gian làm việc với Rust theo dạng qua loa chơi chơi thì mình sẽ ghi chú lại những thứ mình nhớ được. Bao gồm từ cơ bản đến khó hơn một chút.

Rusty diary, part 3

Enum sẽ bị giới hạn bởi số cận trên lớn hơn

enum Foo{
A(u64),
B([u64; 1000]),
}

Modularization

Rust không coi file là các "file", mà coi chúng như các module (gần với Java, theo package). Nếu chia file nhỏ ra thì không cần phải bao ngoài module bằng từ khóa mod:

foo1.rs
#[derive(Debug)]
pub struct Foo {
s: &'static str
}

impl Foo {
pub fn new(s: &'static str) -> Foo {
Foo{s}
}
}

sau đó là gọi trực tiếp:

main.rs
mod foo1;
fn main() {
let f = foo1::Foo::new("Hello");
println!("{:?}", f);
}

Vì vậy khuyến cáo là enum thì nên để cùng kiểu biến, như Typescript.