반응형

Rust/Rust 강좌 11

Rust 키보드 입력 예제

Rust에서 키보드 입력을 받아 화면에 출력하는 간단한 예제코드입니다. 2024. 1. 15 최초작성 실행 결과입니다. 실행하면 다음처럼 입력을 대기합니다. 이름을 입력해주세요 : 이름을 입력후 엔터를 누르면 환영 메시지가 출력됩니다. 이름을 입력해주세요 : webnautes webnautes님 반갑습니다. 전체 코드입니다. use std::io; use std::io::Write; // for flush() fn main() { print!("이름을 입력해주세요 : "); // 줄바꿈을 하지 않기 위해서 println! 대신 print! 사용합니다. io::stdout().flush().expect("Failed to flush stdout"); // print! 함수의 출력내용을 바로 화면에 보이도록..

Rust/Rust 강좌 2024.01.15

간단하게 정리해본 Rust 강좌 8 : 참조자, 댕글링 참조, 원시 포인터

간단하게 정리해본 Rust 강좌입니다. 2022. 10. 24 최초작성 2023. 4. 26 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 참조자 Rust의 참조자는 특정 주소에 저장된 데이터에 액세스하기 위한 메모리 상의 시작 주소라는 점에서 C/C++의 포인터와 똑같습니다. 참조자는 데이터를 소유하고 있지 않으며 다른 변수가 소유하고 있는 데이터를 가리키고 있습니다. 참조자가 데이터를 소유하고 있는 변수보다 더 오래 존재하지 않도록 lifetime을 검증합니다. 또한 참조자를 사용하는 동안에는 참조자가 가리키고 있는 데이터를 액세스 할 수 있도록 보장해줍니다. 다음 코드는 변수의 소유권을 가져오는 대신 파라미터로 변..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 9 : Box, 재귀적 데이터타입, Deref 트레잇

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. https://tourofrust.com/00_ko.html https://rinthel.github.io/rust-lang-book-ko/ch15-00-smart-pointers.html 2022. 11. 13 최초작성 2023. 05. 10 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 스마트 포인터는 C/C++의 포인터처럼 작동하지만 추가적인 메타 데이터와 기능을 가지고 있습니다. 소유권과 빌림의 개념을 가지고 있는 러스트에서, 참조자와 스마트 포인터 간의 차이점은 참조자는 데이터에 대한 소유권을 가지지 않고 단지 데이터를 빌리는 포인터인 ..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 7 : &self, &mut self, trait, 동적 디스패치, 정적 디스패치, Generic 메서드, Box

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. Tour of Rust https://tourofrust.com/00_ko.html 2022. 10. 1 최초작성 2023. 4. 23 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 캡슐화 (encapsulation) - 객체라 불리는 단일 타입의 개념적 단위에 데이터와 메서드를 묶어줍니다. 추상화 (abstraction) - 데이터와 메서드를 숨겨 객체의 상세 구현 사항을 알기 어렵게 합니다. 다형성 (polymorphism) - 하나의 객체가 여러 가지 타입을 ..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 6 : 모듈

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. https://www.sheshbabu.com/posts/rust-module-system/ 2022. 9. 12 최초작성 2022. 4. 17 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 Rust에서는 use 경로에 사용할 수 있는 다음 키워드를 사용하여 원하는 module을 빠르게 가져다 사용할 수 있습니다: crate - root module super - 현재 module의 부모 module self - 현재 module 예제 1 main 모듈(main.rs)에서 config 모듈(config.rs)을 가져오는 예제입니다. main 모듈..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 5 : 문자열, utf-8

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. Tour of Rust https://tourofrust.com/00_ko.html 2022. 9. 12 최초작성 2023. 3. 29 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 문자열 Rust에서 문자열은 유니코드이며 데이터 타입은 &'static str입니다. &는 메모리 내의 장소를 참조하고 있다는 의미이며, mut가 없다는 것은 컴파일러가 문자열 값의 변경을 허용하지 않는다는 뜻입니다 'static은 string 데이터가 프로그램이 끝날 때까지 유효하다는 것이고 str은 utf-8인 바이트 열을 가리키고 있다는 의미입니다 Rust 컴파..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 4 : 소유권, 참조, 역참조, 생명주기

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. Tour of Rust https://tourofrust.com/00_ko.html 2022. 9. 11 최초작성 2023. 3. 28 최종 작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 소유권 데이터 타입을 인스턴스화 하여 변수에 할당(binding)하면 메모리 리소스가 생성됩니다. 여기서 변수를 리소스의 소유자(owner)라고 합니다. #[derive(Debug)] // 구조체를 출력하기 위해 필요합니다. // 구조체를 정의합니다. struct Foo { x: i32, } fn main() { // 구조체를 인스턴스화 하고 변수에 할당하여 메모리..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 3 : 열거형, 제네릭 데이터 타입, Option, Result, unwrap, vector

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. Tour of Rust https://tourofrust.com/00_ko.html 2022. 09. 08 최초작성 2023. 03. 27 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 메모리 Rust 프로그램에는 데이터가 저장되는 다음 세 가지의 메모리 영역이 있습니다. 데이터 메모리(data memory) 크기가 고정되어 있으며 프로그램이 실행되는 동안 사용 가능한 영역입니다. 예) 큰따옴표(“)로 둘러쌓인 문자열 스택 메모리(stack memory) 함수 내에서 변수가 선언될때 사용되는 영역입니다. 이 메모리에 저장된 것들은 함수가 호출된 ..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 2 : if-else, loop, while, for, match, struct, method

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. Tour of Rust https://tourofrust.com/00_ko.html 2022. 09. 07 최초작성 2023. 03. 23 최종작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. https://webnautes.tistory.com/2110 if/else if/else 문을 사용하면 if 문에 주어지는 조건에 따라 원하는 코드를 실행하도록 할 수 있습니다. if문에 조건을 지정할때 다음과 같은 관계 연산자와 논리 연산자를 사용할 수 있습니다. 관계 연산자 == : 양변에 있는 값이 갔다는 의미입니다. != : 양변에 있는 값이 같지 않다는 의미입니다. : 왼쪽 값이 더 크다는 의미입니다. = : 왼쪽..

Rust/Rust 강좌 2023.10.28

간단하게 정리해본 Rust 강좌 1 : 변수, 상수, 함수, 튜플, 배열, 데이터타입, println

간단하게 정리해본 Rust 강좌입니다. 다음 문서를 기반으로 작성했습니다. Tour of Rust https://tourofrust.com/00_ko.html 2022. 09. 07 최초 작성 2023. 03. 22 최종 작성 Rust 개발 환경 만드는 방법은 아래 포스트를 참고하세요. Windows에 Visual Studio Code + Rust 개발 환경 만들기 https://webnautes.tistory.com/2110 Hello World 문자열 "Hello, 🦀"를 화면에 출력해주는 간단한 코드입니다. fn main() { println!("Hello, 🦀"); } 이름이 main인 함수를 정의하기 위해 fn 키워드 다음에 함수 이름 main을 적습니다. main 함수는 Rust 프로그램이 실..

Rust/Rust 강좌 2023.10.28
반응형