다음 사이트에 있는 Zig 강좌를 따라해보며 포스트를 올려보고 있습니다.
2024. 4. 4 최초작성
다음 포스트를 참고하여 zig 개발 환경을 구성하세요.
zig 설치하여 Visual Studio Code 개발환경 만들기 - Windows, Linux, macOS
https://webnautes.tistory.com/2301
zig 강좌를 진행하고 있습니다.
zig 강좌 01 - Assignment(대입)
https://webnautes.tistory.com/2304
zig 강좌 02 - Arrays(배열)
https://webnautes.tistory.com/2305
zig 강좌 03 - if 문
https://webnautes.tistory.com/2306
zig 강좌 04 - while 문
https://webnautes.tistory.com/2308
zig 강좌 05 - for 문
https://webnautes.tistory.com/2309
zig 강좌 06 -함수
https://webnautes.tistory.com/2313
zig 강좌 07 - Defer
https://webnautes.tistory.com/2317
zig 강좌 08 - Switch
https://webnautes.tistory.com/2324
이번엔 다음 링크에 있는 내용을 정리해봤습니다.
https://zig.guide/language-basics/while-loops
구구단 3단을 출력하는 while 문 예제입니다.
const std = @import("std"); pub fn main() void { // 값을 변경하지 않기때문에 부호없는 8비트 정수로 상수를 선언합니다. const number: u8 = 3; // 값을 변경해야 하기 때문에 부호없는 8비트 정수로 변수를 선언합니다. var i: u8 = 1; // i가 10보다 작을 동안 반복합니다. while (i < 10) { // 계산 결과를 출력합니다. std.debug.print("{} * {} = {}\n", .{ number, i, number * i }); i += 1; // i = i + 1의 줄임 표현입니다. } } |
실행결과 입니다.
% zig run main.zig
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
while 문에 반복시 특정 변수의 값을 변경하도록 할 수 있습니다. 여기에서는 반복할때마다 1씩 증가합니다.
const std = @import("std"); pub fn main() void { const number: u32 = 3; var i: u8 = 1; // i가 10보다 작을 동안 반복합니다. i를 증가시키는 코드를 while문에 추가할 수 있습니다. i+=1로 바꾸어 적어도 됩니다. while (i < 10) : (i = i + 1) { std.debug.print("{} * {} = {}\n", .{ number, i, number * i }); } } |
실행결과는 앞에서 본 예제와 동일합니다.
% zig run main.zig
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
이하에 있는 코드를 실행하지 않고 다시 while 문 처음부터 실행하도록하는 continue 문 예제입니다.
const std = @import("std"); pub fn main() void { const number: u32 = 3; var i: u8 = 1; // i가 10보다 작을 동안 반복합니다. i를 증가시키는 코드를 while문에 추가할 수 있습니다. i+=1로 바꾸어 적어도 됩니다. while (i < 10) : (i = i + 1) { // 2의 배수인 경우엔 print 문을 실행하지 않고 다시 while문 처음으로 돌아가도록 합니다. if (i % 2 == 0) continue; std.debug.print("{} * {} = {}\n", .{ number, i, number * i }); } } |
실행결과 구구단 3단에서 2의 배수를 곱하는 건 제외하고 출력됩니다.
% zig run main.zig
3 * 1 = 3
3 * 3 = 9
3 * 5 = 15
3 * 7 = 21
3 * 9 = 27
조건이 맞으면 while 문을 중지하도록 하는 break 문 예제입니다.
const std = @import("std"); pub fn main() void { const number: u32 = 3; var i: u8 = 1; // i가 10보다 작을 동안 반복합니다. i를 증가시키는 코드를 while문에 추가할 수 있습니다. i+=1로 바꾸어 적어도 됩니다. while (i < 10) : (i = i + 1) { // 변수 i의 값이 5이면 while문을 중지합니다. if (i == 5) break; std.debug.print("{} * {} = {}\n", .{ number, i, number * i }); } } |
실행하면 변수 i의 값이 4일때까지만 실행 결과가 출력됩니다.
% zig run main.zig
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
'Zig > Zig 강좌' 카테고리의 다른 글
zig 강좌 06 -함수 (0) | 2024.04.10 |
---|---|
zig 강좌 05 - for 문 (0) | 2024.04.06 |
zig 강좌 03 - if 문 (0) | 2024.04.02 |
zig 강좌 01 - Assignment(대입) (0) | 2024.04.01 |
zig 강좌 02 - Arrays(배열) (0) | 2024.03.30 |