🦀 Rust 기초 배우기: 007_println! 매크로¶
Rust의 가장 기본이자 중요한 출력 함수인 println!
매크로를 다룹니다.
초보자도 이해할 수 있도록 코드와 주석을 자세히 달았으며,
마지막에는 현업에서 어떻게 사용되는지도 정리했습니다.
📌 println! 매크로란?¶
- Rust에서 콘솔에 텍스트를 출력할 때 사용하는 매크로(Macro)
- 함수(
function
)와 다르게, 코드를 자동으로 변환해주는 특수한 도구 - 문자열, 숫자, 변수 값을 쉽게 출력할 수 있음
🔎 개념 시각화 (Mermaid)¶
flowchart TD
A[개발자 작성 코드<br/>println!("Hello, Rust!")] --> B[println! 매크로 내부 변환]
B --> C[실제 Rust 표준 라이브러리 코드로 변환]
C --> D[운영체제(OS) 콘솔 출력 시스템 호출]
D --> E[콘솔에 "Hello, Rust!" 표시]
🖥 코드 예시와 주석
// 프로그램 시작 지점 (모든 Rust 프로그램은 main 함수에서 시작)
fn main() {
// println! 매크로: "Hello, Rust!"라는 문자열을 콘솔에 출력
println!("Hello, Rust!");
// 중괄호 {} 안에는 변수 값을 넣을 수 있음
let name = "철수"; // 변수 name 선언, 값은 "철수"
println!("안녕하세요, {}님!", name); // {} 안에 name 값이 들어가서 출력됨
// 숫자 출력도 가능
let age = 25; // 변수 age 선언, 값은 25
println!("나이는 {}살 입니다.", age);
// 여러 개의 값을 출력할 수도 있음
let city = "서울";
println!("{}님은 {}에 살고 있고, 나이는 {}살입니다.", name, city, age);
}
💡 한 줄씩 주석 설명
fn main() { ... } → Rust 프로그램의 시작점, 실행하면 제일 먼저 실행됨
println!("Hello, Rust!"); → 따옴표 안의 문자열을 콘솔에 그대로 출력
let name = "철수"; → let 키워드로 변수를 선언 (name이라는 이름, 값은 "철수")
println!("안녕하세요, {}님!", name); → {}는 자리 표시자(placeholder), 실행 시 name 값이 들어감
let age = 25; → 정수 값을 담는 변수 선언
println!("나이는 {}살 입니다.", age); → {} 안에 age 값이 들어가서 "나이는 25살 입니다." 출력
println!("{}님은 {}에 살고 있고, 나이는 {}살입니다.", name, city, age); → 여러 개의 변수를 순서대로 {}에 채워 넣을 수 있음
🏢 현업에서 println! 활용 사례¶
디버깅(Debugging) → 프로그램 실행 중 변수 값이 제대로 들어오는지 확인할 때 가장 많이 사용 → 예: 서버 프로그램에서 요청이 제대로 들어왔는지 로그를 찍을 때
로그 출력 → 실제 현업에서는 println! 대신 로깅 라이브러리(log, env_logger 등)를 사용 → 하지만 기본 개념은 동일: 콘솔에 출력하여 개발자가 흐름을 확인
학습 & 테스트 코드 작성 → 초보자가 Rust 문법을 익히거나 간단한 프로그램을 만들 때 필수 도구 → 예: 알고리즘 문제 풀이 결과를 출력할 때
✅ 결론:¶
println!은 Rust의 "Hello, World!" 수준의 기초지만, 모든 프로그램의 디버깅과 로그의 출발점입니다. 처음에는 단순 출력만 하지만, 나중에는 에러 추적, 시스템 로그 관리 같은 실무 작업으로 확장됩니다.