Rust는 안전성, 속도, 그리고 동시성에 중점을 둔 시스템 프로그래밍 언어입니다. C와 유사한 성능을 제공하면서도 메모리 안전성을 컴파일 단계에서 보장합니다. 2006년 Mozilla에서 시작되었으며, 현재는 커뮤니티 주도로 활발히 개발되고 있습니다.
Rust의 소유권 시스템은 메모리 안전성을 보장하는 핵심입니다.
&mut를 사용해야 합니다.예제:
fn main() {
let s1 = String::from("Hello");
let s2 = s1; // 소유권 이동
// println!("{}", s1); // 컴파일 에러
let s3 = s2.clone(); // 복사
println!("{}", s3);
}
모든 참조는 유효한 생명 주기(Lifetime)를 가져야 합니다.
Rust는 두 가지 주요 에러 처리 방식을 제공합니다:
예제:
use std::fs::File;
fn main() {
let result = File::open("test.txt");
match result {
Ok(file) => println!("파일 열기 성공: {:?}", file),
Err(e) => println!("파일 열기 실패: {}", e),
}
}
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustc --versioncargo new my_projectcargo buildcargo runcargo testfn main() {
println!("Hello, World!");
}
fn main() {
let s1 = String::from("Rust");
borrow_example(&s1);
println!("소유권은 여전히 유지됨: {}", s1);
}
fn borrow_example(s: &String) {
println!("대여된 값: {}", s);
}
trait Describe {
fn describe(&self) -> String;
}
struct Dog;
impl Describe for Dog {
fn describe(&self) -> String {
String::from("I'm a Dog!")
}
}
fn main() {
let dog = Dog;
println!("{}", dog.describe());
}
Rust는 안전하고 강력하며, 성능까지 잡은 언어입니다. C/C++의 대안으로 각광받는 Rust