러스트(5)
-
환경변수 파일 읽기
개요 프로젝트를 하다보면 프로그램 내부에서 사용 할 환경 설정 파일을 따로 관리하는 경우가 있습니다. 이럴 때 우리는 .env 파일을 만들어서 사용합니다. 오늘은 .env 파일을 읽는 방법에 대해 알아보도록 하겠습니다. dotenv 추가 .env 파일을 읽고 환경변수를 가져오도록 하는 Crate 중 유용한 게 dotenv라는 crate가 있습니다. 먼저 Cargo.toml에 추가합니다. [dependencies] dotenv = "0.15.0" .env 파일 셋팅 저는 postgres에 접속 할 수 있는 Database 연결 정보를 설정해보도록 하겠습니다. NAME='TEST' AGE=13 환경변수 불러오기 환경 변수를 불러오는 방법은 간단합니다. dotenv().ok(); 를 추가만 해주면 .env 파..
2023.06.21 -
Rust의 HashMap 소개
HashMap이란? HashMap은 키-값 쌍(Key-Value Pair)로 이루어진 데이터를 저장하는 데이터 구조입니다. HashMap을 사용하면 키를 통해 값을 빠르게 검색하거나 수정하는 것이 가능합니다. 또한 키는 고유하며, 중복되지 않아야 합니다. let mut 변수명 : HashMap = HashMap::new(); 위와 같이 HashMap을 생성 할 수 있습니다. HashMap 생성 및 값 추가 모듈 가져오기 먼저 모듈을 가져오기 위해서는 아래와 같이 표준 라이브러리로부터 해당 모듈을 가져와야 합니다. use std::collections::HashMap; HashMap 생성하기 HashMap은 키와 값을 연결해 주는 테이블입니다. 아래와 같이 생성합니다. let mut fruits = Has..
2023.06.15 -
Rust Option의 메서드 알아보기
오늘은 Rust의 Option에 대해 알아보도록 하겠습니다. Option Rust에서 기본적으로 null이 존재하지 않습니다. 그래서 널 포인터 참조와 같은 에러는 발생하지 않습니다. 하지만 Null을 표현하는 방법이 필요할 때가 있기 때문에 Rust에서는 Option라는 Enum 타입을 제공합니다. enum Option { Some(T), None, }Option 안에는 두 개의 variant(종류)가 존재합니다. Some : 값을 가지는 variant None : 값을 가지지 않는 variant 예제 설명 fn divide(dividend: i32, divisor: i32) -> Option { if divisor == 0 { None } else { Some(dividend / divisor) } ..
2023.04.01 -
Rust 소스 코드 문서화
여러 언어에서 주석으로 문서를 생성하는 방법이 많이 있습니다. 예를 들어 docfx나 hugo 등이 많이 있습니다. Rust에서는 빌드 시스템이자 패키지 관리자인 Cargo에 기본적으로 내장되어 있습니다. 오늘은 내가 만든 코드를 자동으로 문서화 시키는 방법에 대해 알아보도록 하겠습니다. 예제 코드 먼저 아래와 같이 Cargo를 통해 새로운 프로젝트를 생성하고 main.rs를 작성합니다. $ cargo new rust_doc enum Color { Red, Blue } struct Student { name : String, age : i32 } fn add(x:i32, y:i32) -> i32 { x + y } fn main() { println!("Hello, world!"); } 예제 코드 문서화 ..
2023.03.21 -
Rust 열거형(Enum)
Enum(열거형)이란 한 타입의 종류(variant)를 나열 할 때 흔히 사용됩니다. Enum은 컴파일러에 프로그램에 관한 정보를 제공하므로 프로그램을 더 안정적으로 만들 수 있습니다. 간단한 예제를 살펴보겠습니다. enum Move { Up, Down, Left, Right } fn which_move(go: Move){ match go { Move::Up => println!("up"), Move::Down => println!("down"), Move::Left => println!("left"), Move::Right => println!("right"), } } enum Move안에 속한 값들을 열것값(variant)라고 부릅니다. 열것값들의 끝에는 콤마로 구분하고 마지막 열것값의 경우는 선택사..
2023.03.20