Rust는 현대적인 시스템 프로그래밍 언어로, 안전성과 성능을 동시에 추구하며, 정적 타입 시스템을 통해 코드의 오류를 사전에 방지합니다. Rust의 데이터 타입은 개발자가 프로그램의 안정성을 극대화하면서도 유연한 설계를 할 수 있도록 설계되었습니다. 정수와 문자열 같은 기본 타입부터, 복합적인 데이터를 처리할 수 있는 튜플, 배열, 그리고 사용자 정의 타입인 구조체와 열거형까지, Rust는 다양한 데이터 표현 방식을 지원합니다. 이 글에서는 Rust의 데이터 타입에 대해 체계적으로 정리하며, 각각의 타입이 제공하는 기능과 활용법을 살펴보겠습니다. 초보 개발자부터 고급 프로그래머까지, Rust 데이터 타입의 강력한 기능을 활용해보고 싶은 모든 독자들에게 유용한 자료가 될 것입니다. Rust의 독창적인 데..
Rust
Rust는 안정성과 성능을 최우선으로 설계된 언어입니다. 특히 가변성(Mutability)은 Rust의 독특한 특징 중 하나로, 데이터의 변경 가능성을 명확히 제어하면서도 안정성을 유지할 수 있도록 설계되었습니다. 이 글에서는 Rust의 가변성을 이해하고 효과적으로 활용하는 방법에 대해 다룹니다.1. 기본 원칙: 불변성이 기본Rust에서 변수는 기본적으로 불변(immutable)입니다. 즉, 변수를 선언한 후 값을 변경할 수 없습니다. 이는 실수로 값이 변경되는 것을 방지해 안정성을 높이는 Rust의 중요한 설계 철학입니다.fn main() { let x = 5; // 불변 변수 x = 6; // 에러 발생: 변수 x는 변경할 수 없습니다.}2. mut 키워드를 활용한 가변 변수 선언Rust에..
HashMap은 Rust에서 제공하는 기본적인 키-값 쌍 데이터 구조입니다. 다른 언어의 dictionary나 map과 비슷한 역할을 하며, 각 키는 고유하고 특정 값에 연결됩니다. Rust의 HashMap은 표준 라이브러리의 std::collections 모듈에 포함되어 있으며, 사용하기 위해서는 use std::collections::HashMap;을 통해 가져와야 합니다.아래에서 HashMap의 기본적인 사용법과 주요 기능을 예시와 예제를 통해 설명하겠습니다. HashMap에 대한 기본적인 개념이 필요하다면 [Rust] HashMap 기본 개념 설명를 참고해주세요. 1. HashMap 생성 및 기본 사용법use std::collections::HashMap;fn main() { // 빈 Has..
HashMap은 Rust의 표준 라이브러리에서 제공하는 키-값 쌍(key-value pair) 데이터를 저장하는 해시 테이블(Hash Table) 구조입니다. 각 키는 해시 함수를 통해 해시값으로 변환되어, 데이터를 빠르게 조회하고 삽입할 수 있습니다. Rust의 HashMap은 C++의 unordered_map이나 Python의 dict와 비슷한 기능을 제공하며, 빠른 검색과 데이터 삽입/삭제가 필요할 때 주로 사용됩니다. 개념을 읽고 사용 예제가 더 궁금하다면 [Rust] HashMap 사용 예에 방문하세요.1. HashMap의 기본 개념키-값 쌍(key-value pair): HashMap은 각 데이터를 키와 그에 대응하는 값으로 저장합니다.해싱(Hashing): HashMap은 키를 해싱하여 해시..
Rust에서 String을 반복(iteration)하거나 문자(char) 단위로 접근하는 방법은 몇 가지가 있습니다. Rust의 String은 UTF-8로 인코딩된 가변 길이 문자열을 저장하기 때문에 문자나 바이트에 접근하는 방식에 따라 다르게 처리해야 합니다. 아래에서는 다양한 접근과 반복 방법들을 소개합니다.1. 문자(char) 단위로 반복Rust의 String은 UTF-8로 인코딩되어 있기 때문에, 문자열을 문자(char) 단위로 접근하려면 .chars() 메서드를 사용해야 합니다.rust코드 복사fn main() { let text = String::from("Hello, Rust!"); // 문자 단위로 반복 for c in text.chars() { println!..
Rust에서 배열이나 컬렉션을 반복하는 방법은 여러 가지가 있지만, 가장 많이 사용되는 방법은 for 루프와 이터레이터(iterator)를 사용하는 방식입니다. Rust의 반복 패턴은 가독성과 안전성을 중시하는 경향이 있으며, C에서 사용하는 인덱스를 통한 반복이나 Python에서 사용하는 값 자체를 반복하는 방식과 유사하지만, Rust만의 독특한 방식이 있습니다.Rust에서 일반적으로 사용되는 배열 반복 방법들을 소개하고, 어떤 방법이 통용되는지 설명하겠습니다.1. for 루프 + iter(): 가장 많이 사용되는 방식Rust에서 가장 흔하게 사용되는 방법은 for 루프와 iter() 메서드를 사용하는 방식입니다. 이 방식은 Python의 값 자체를 반복하는 방식과 비슷합니다. iter()는 불변 반복..
Mutabilitymutable and imuutable typesfn main() { let mut x = 5; println!("the variable is mutable {x}"); let copy = x; x = 6; println!("the programmer changed the variable to {copy} -> {x}");}x 는 mutable하고 copy 는 immutable한 variable이다.constantconst THREE_HEURES_IN_SEC: u32 = 60 * 60 * 3;const 는 global scope, local scope 모두 선언이 가능const 는 type을 동반하여 : notation으로 표기해야함.const 는 compil..
이 글은 Rust Book의 The Guessing Game에 나오는 다양한 Rust 맛보기 문법을 정리하였습니다.error 처리(.except), string literal, String, enum, type inference를 다룹니다.Error 처리하기.expect()io::stdin() // 원래는 std::io로 라이브러리를 가져온다 .read_line(&mut guess) .expect("Failed to read line");Result에도 method가 있다 -> 그게 .expectread_line() -> Result{Err} -> expect -> print Stringread_line() -> Result{OK} -> expect -> OK안에 있는 값..