학습
Zig 조건문
Zig 조건문 — 초급
조건문
1. 도입 (왜 배워야 하는가)
조건문은 프로그래밍에서 매우 중요한 개념입니다. 실무에서 조건문을 사용하면 프로그램이 다양한 상황에 맞춰 다르게 행동할 수 있게 됩니다. 예를 들어, 사용자 입력에 따라 다른 결과를 내는 프로그램을 만들거나, 특정 조건이 만족될 때만 특정 기능을 실행하도록 할 수 있습니다. 만약 조건문을 모른다면, 프로그램이 항상 동일한 결과만 내게 되어 유연성과 효율성을 잃게 됩니다. 이는 실제 사용자의 요구를 충족시키지 못하는 결과로 이어질 수 있습니다.
2. 핵심 개념 설명
조건문은 프로그램의 흐름을 제어하는 데 사용됩니다. 기본적으로 if, else, else if 구문을 통해 조건에 따라 다른 코드를 실행할 수 있습니다. 이를 통해 프로그램의 논리를 구축할 수 있습니다.
실생활 비유
조건문은 우리가 매일 하는 결정과 비슷합니다. 예를 들어, "비가 오면 우산을 가져가고, 비가 안 오면 그냥 간다"라는 결정이 조건문과 유사합니다.
| 용어 | 설명 |
|---|---|
| if | 조건이 참일 때 실행 |
| else | 조건이 거짓일 때 실행 |
| else if | 여러 조건을 검사할 때 사용 |
3. 기본 코드 예제
아래는 Zig에서 조건문을 사용하는 간단한 코드입니다.
const std = @import("std");
pub fn main() void {
const temperature: i32 = 30;
if (temperature > 25) {
std.debug.print("오늘은 더운 날입니다.\n", .{});
} else if (temperature < 15) {
std.debug.print("오늘은 추운 날입니다.\n", .{});
} else {
std.debug.print("오늘은 쾌적한 날입니다.\n", .{});
}
}
실행 결과
오늘은 더운 날입니다.
코드 한 줄씩 동작 설명
const std = @import("std");: Zig 표준 라이브러리를 가져옵니다.pub fn main() void {: main 함수를 정의합니다. 프로그램의 시작점입니다.const temperature: i32 = 30;: 온도 변수를 정의하고 30으로 초기화합니다.if (temperature > 25) {: 온도가 25보다 크면 아래 코드를 실행합니다.std.debug.print("오늘은 더운 날입니다.\n", .{});: 조건이 참일 때 "오늘은 더운 날입니다." 메시지를 출력합니다.else if (temperature < 15) {: 첫 번째 조건이 거짓일 경우, 온도가 15보다 작은지 검사합니다.else {: 두 조건이 모두 거짓일 경우 실행됩니다.std.debug.print("오늘은 쾌적한 날입니다.\n", .{});: 최종적으로 쾌적한 날이라는 메시지를 출력합니다.- 위 코드는
=(대입) 연산자를 사용하여 조건을 검사하고 있습니다. 조건 비교는==(동등) 연산자를 사용해야 합니다. - 중괄호를 생략할 경우, 한 줄만 조건문에 포함됩니다. 여러 줄을 포함하려면 중괄호를 사용해야 합니다.
- 조건문은 프로그램의 흐름을 제어하는 핵심 요소입니다.
if,else if,else구문을 통해 다양한 조건을 처리할 수 있습니다.- 실생활의 결정과 유사한 원리로 작동합니다.
- 다음에 학습하면 좋은 주제는 반복문(loops)입니다. 반복문을 배우면 조건문과 결합하여 더욱 복잡한 로직을 구현할 수 있습니다.
4. 실전 활용 예제
예제 1: 쇼핑몰에서 장바구니 가격 계산
쇼핑몰에서 장바구니의 총 가격에 따라 할인율을 적용하는 예입니다.
const std = @import("std");
pub fn main() void {
const totalPrice: f32 = 150.0;
var discount: f32 = 0.0;
if (totalPrice > 100.0) {
discount = totalPrice 0.1; // 10% 할인
} else if (totalPrice > 50.0) {
discount = totalPrice 0.05; // 5% 할인
}
const finalPrice = totalPrice - discount;
std.debug.print("최종 가격: {}\n", .{finalPrice});
}
예제 2: 사용자의 로그인 상태 확인
로그인 상태에 따라 다른 메시지를 출력하는 예입니다.
const std = @import("std");
pub fn main() void {
const isLoggedIn: bool = true;
if (isLoggedIn) {
std.debug.print("환영합니다!\n", .{});
} else {
std.debug.print("로그인이 필요합니다.\n", .{});
}
}
5. 흔한 실수와 주의사항
실수 1: 조건을 잘못 설정하기
if (temperature = 30) { // 잘못된 예
std.debug.print("온도가 30도입니다.\n", .{});
}
실수 2: 중괄호의 누락
if (temperature > 25)
std.debug.print("더워요\n", .{}); // 중괄호가 없음