RUST · 심층 가이드
Rust Hello World 완전 정리
출력 한 줄에서 시작해 함수와 배열 순회를 거쳐 명령행 인자와 환경 변수까지, Rust 프로그램이 바깥세상과 맞닿는 지점을 10개 예제로 훑는 입문 코스입니다.
Rust의 첫 줄은 함수 호출처럼 보이지만 함수가 아닙니다. println!의 느낌표는 매크로 표시이고, 포맷 문자열은 컴파일 시점에 파싱되어 인자 개수와 타입이 맞는지 검사됩니다. 자리 표시자를 하나 빠뜨리면 실행이 아니라 빌드가 멈춥니다. 여기서 이미 Rust의 성격이 드러납니다. 런타임까지 미룰 수 있는 검사도 되도록 컴파일 시점으로 끌어올립니다. 출력 대상이 표준 출력이냐 표준 오류냐에 따라 print! 계열과 eprint! 계열이 갈리는 것도 첫날부터 알아둘 만합니다.
Hello World 출력과 변수 값을 같이 출력은 포맷 인자와 소유권이 처음 만나는 지점입니다. 이어지는 함수로 인사 만들기에서 &str를 받을지 String을 받을지 고르게 되고, 배열을 순회하며 인사에서 그 선택이 반복문 안의 빌림으로 확장됩니다. 명령행 인자 읽기와 환경 변수 읽기는 외부에서 들어오는 값이라 실패 가능성이 붙고, 자연스럽게 Option과 Result를 만나게 됩니다.
std::env::args()는 편해 보이지만 유효한 유니코드가 아닌 인자를 만나면 패닉을 냅니다. 파일 이름을 인자로 받는 도구라면 args_os()를 쓰는 편이 안전합니다. 그리고 반환되는 첫 원소는 프로그램 실행 경로이므로 사용자가 준 값은 인덱스 1부터라는 점, 그 경로마저 운영체제가 보장해 주지 않는다는 점을 기억해 두면 나중에 인자 파싱에서 한 칸씩 밀리는 실수를 피합니다.
01Hello World 출력
Rust에서 Hello World 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// Hello World 출력
fn main() {
println!("Hello, World 1!");
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
02변수 값을 같이 출력
Rust에서 변수 값을 같이 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 변수 값을 같이 출력
use std::env;
fn main() {
let env = env::var("APP_ENV").unwrap_or_else(|_| "local".to_string());
println!("{}", env);
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
03함수로 인사 만들기
Rust에서 함수로 인사 만들기 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 함수로 인사 만들기
fn main() {
println!("Hello, World 3!");
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
04배열을 순회하며 인사
Rust에서 배열을 순회하며 인사 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 배열을 순회하며 인사
use std::env;
fn main() {
let env = env::var("APP_ENV").unwrap_or_else(|_| "local".to_string());
println!("{}", env);
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
05명령행 인자 읽기
Rust에서 명령행 인자 읽기 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 명령행 인자 읽기
fn main() {
println!("Hello, World 5!");
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
06템플릿 문자열 인사
Rust에서 템플릿 문자열 인사 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 템플릿 문자열 인사
use std::env;
fn main() {
let env = env::var("APP_ENV").unwrap_or_else(|_| "local".to_string());
println!("{}", env);
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
07유니코드 메시지 출력
Rust에서 유니코드 메시지 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 유니코드 메시지 출력
fn main() {
println!("Hello, World 7!");
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
08환경 변수 읽기
Rust에서 환경 변수 읽기 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 환경 변수 읽기
use std::env;
fn main() {
let env = env::var("APP_ENV").unwrap_or_else(|_| "local".to_string());
println!("{}", env);
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
09컬렉션 요약 출력
Rust에서 컬렉션 요약 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 컬렉션 요약 출력
fn main() {
println!("Hello, World 9!");
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
10버전 정보 출력
Rust에서 버전 정보 출력 개념을 코드로 빠르게 확인하는 Hello World 예제입니다.
Rust code
// 버전 정보 출력
use std::env;
fn main() {
let env = env::var("APP_ENV").unwrap_or_else(|_| "local".to_string());
println!("{}", env);
}짧은 예제를 여러 번 실행해 보면서 출력 흐름과 실행 환경을 같이 익혀 보세요.
출력 예제는 괄호와 문자열 구분자 같은 작은 문법 실수 하나로도 바로 멈출 수 있습니다.
정리하며
- println!은 매크로이므로 포맷 오류가 런타임이 아니라 빌드에서 잡힙니다
- 함수 인자는 우선 &str로 받고, 소유권이 정말 필요할 때만 String을 씁니다
- env::args()의 0번 원소는 실행 경로이니 사용자 인자는 1번부터 셉니다
- 비유니코드 인자를 다룰 가능성이 있으면 args_os()로 바꿔 둡니다
더 깊이 들어가고 싶다면 Rust 학습 라이브러리에서 다른 주제 가이드를 이어서 보거나, 언어 비교에서 같은 개념이 다른 언어에서 어떻게 표현되는지 확인해 보세요.