초급 문법 : 10. 사용자 입력과 출력 (println!, std::io) – 화면에 출력하고 입력 받기
Rust에서 사용자 입력과 출력에 대해 알아보겠습니다.
🖥️ 화면에 출력하기: println!
코드를 작성하고 실행해 봅시다.
(1) VS Code에서 Rust 파일 생성
1️⃣ 터미널 열기
- VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
- 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
2️⃣ 새 Rust 프로젝트 생성
- 새로운 Rust 프로젝트를 만들 폴더로 이동 (예: C:\RustProjects)
cd C:\RustProjects
- 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
- rust_io이라는 폴더가 생성됩니다.
cargo new rust_io
3️⃣ 프로젝트 열기
- VS Code에서 [파일] → [폴더 열기] 선택 후 rust_io 폴더를 엽니다.
4️⃣ 메인 파일 열기
- 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.
📄 src/main.rs
기본으로 아래 코드가 있습니다:
fn main() {
println!("Hello, world!");
}
🧠 설명:
- println!은 화면에 글자를 출력하는 매크로입니다.
- !가 붙어 있는 이유는 매크로이기 때문입니다. 함수가 아니에요!
- "Hello, world!" 는 출력할 문자열입니다.
▶ 실행해보기
1. Ctrl + S를 눌러 파일을 저장합니다. (메뉴 -> 파일 -> 저장)
Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
2. VS Code 아래쪽 터미널에서 실행:
cargo run
3. 결과:
Compiling hello_io v0.1.0
Finished dev [unoptimized + debuginfo] target(s) in 1.23s
Running `target\debug\hello_io.exe`
Hello, world!
🎤 사용자 입력 받기
🔤 예제: 사용자의 이름을 입력받아 인사하기
👉 전체 코드:
use std::io;
fn main() {
println!("이름을 입력하세요:");
let mut name = String::new();
io::stdin()
.read_line(&mut name)
.expect("입력 오류 발생");
println!("안녕하세요, {}!", name.trim());
}
🧠 하나하나 설명
코드 | 설명 |
use std::io; | 표준 입력 기능을 가져옵니다. (std::io는 표준 입출력 라이브러리예요) |
let mut name = String::new(); | 빈 문자열을 만들고 이름을 저장할 준비를 합니다. mut은 값을 변경 가능하도록 만듭니다. |
io::stdin() | 표준 입력 (키보드 입력)을 받겠다는 뜻이에요. |
.read_line(&mut name) | 사용자가 입력한 한 줄을 name 변수에 저장합니다. &mut는 가변 참조입니다. |
.expect("입력 오류 발생") | 입력 중 문제가 생기면 에러 메시지를 보여줍니다. |
println!("안녕하세요, {}!", name.trim()); | 이름 앞뒤 공백을 없애고 인사합니다. {} 는 출력 자리예요. |
▶ 실행해보기
1. Ctrl + S를 눌러 파일을 저장합니다. (메뉴 -> 파일 -> 저장)
2. 터미널에서 실행:
cargo run
3. 예시:
이름을 입력하세요:
철수
안녕하세요, 철수!
✅ 정리
- println!은 출력에 사용
- std::io는 입력에 사용
- String::new()는 빈 문자열 생성
- read_line()은 입력 받기
- expect()는 에러 처리
- trim()은 공백 제거
🧪 연습 문제
아래 문제를 풀어보며 복습해보세요!
📝 나이를 입력받고 몇 살인지 출력해보기
예시 실행:
나이를 입력하세요:
25
당신의 나이는 25살입니다.
이상으로 입력 받고 출력하기(io)에 대해 알아보았습니다.
[ Rust ] 러스트 프로그래밍 언어 관련 글 목록입니다.
러스트 컴퓨터 프로그래밍 언어를 아이들에게 알려주기 위해 글을 작성하고 있습니다.가능한 쉽고 자세하게 그리고 잘 따라할 수 있도록 작성해 보려고 합니다.글이 작성되는 대로 계속 추가하
hb-love-each-other.tistory.com
한국 러스트 사용자 그룹
rust-kr.org
Rust Programming Language
A language empowering everyone to build reliable and efficient software.
www.rust-lang.org
'컴퓨터에서는' 카테고리의 다른 글
[ Rust ] 초급 문법 : 12. 튜플 (tuple) – 여러 개의 값을 묶어서 다루는 구조 (0) | 2025.05.06 |
---|---|
[ Rust ] 초급 문법 : 11. 배열과 슬라이스 – 배열과 슬라이스 데이터 다루기 (0) | 2025.04.28 |
[ Rust ] 초급 문법 : 9. 패턴 매칭 (match) – 여러 가지 경우를 처리하는 match 표현식 (0) | 2025.04.22 |
[ Django ] 파이썬의 MySQL 드라이버 비교 (0) | 2025.04.18 |
[ Django ] mysqlclient 설치 오류 (0) | 2025.04.18 |
댓글