본문 바로가기

분류 전체보기105

[Zig] 지연(defer) Zig 에서 지연은 해당 코드의 실행을 중괄호(scope) 마지막에서 수행되도록 미룹니다. --------------------------------------------------------------------------------------------------- { defer 맨 마지막에 수행되도록 미룰 코드 // 다른 코드들... } 메모리 할당 바로 아래 defer 키워드로 소멸을 같이 명시하면 코드의 가독성이 높아집니다. 중괄호 내에서 defer 표현식이 여러번 등장한 경우, 역순으로 수행됩니다. (내부적으로 스택에 쌓임) -----------------------------------------------------------------------------------------------.. 2024. 3. 20.
[Zig] 에러(errors) 에러는 단순히 값으로 취급합니다. 에러 셋(error sets) 을 만드는 방법은 아래와 같습니다. --------------------------------------------------------------------------------------------------- const 에러 셋 이름 = error { // 에러 값들 }; --------------------------------------------------------------------------------------------------- 예시 const MyErrorSet = error { TooSmall, TooBig, }; fn detectProblems (n : u32) MyErrorSet ! u32 { if (n < .. 2024. 3. 20.
[Zig] 함수(functions) 함수를 정의하는 방법은 다음 같습니다. --------------------------------------------------------------------------------------------------- pub 또는 생략 fn 함수이름 ( 입력 인자들... ) 반환형 { // 함수 호출시 실행될 내용 return 또는 생략 반환 값 ; } pub 또는 생략 : pub 을 적으면 함수의 공개 범위를 public 으로 확장하고, 아무것도 적지 않으면 private 으로 한정합니다. return 또는 생략 : 반환할 값이 없는 경우 return 표현은 작성하지 않으며, 반환형은 void 로 작성합니다. ----------------------------------------------------.. 2024. 3. 20.
[Zig] for 반복문(loop) for 반복문을 정의하는 방법은 다음 같습니다.--------------------------------------------------------------------------------------------------- for ( 반복자 또는 배열 ) | 반복자 또는 배열에서 요소가 하나씩 꺼내져 여기에 담김 |  {     반복자 또는 배열에 있는 요소들의 갯수만큼 이곳의 코드를 계속해서 실행 }  이곳에는 요소를 담을 변수의 이름만 적으면 됩니다.--------------------------------------------------------------------------------------------------- 예시const story = [_]u8{ 'h', 'h', 's', 'n'.. 2024. 3. 20.
[Zig] while 반복문(loop) while 반복문을 정의하는 방법은 다음 같습니다. --------------------------------------------------------------------------------------------------- while ( true 또는 false 가 나오는 조건식 ) : ( 반복 될때마다 실행되는 코드 ) { 위 조건식이 true 일 경우 이 영역에 있는 코드를 계속해서 실행 } 중괄호 안에서 continue 를 만나면 반복 될때마다 실행되는 코드 를 수행하고 조건식을 검사하여 true 면 첫 줄부터 반복을 계속 진행합니다. (continue 아래 작성된 코드들을 무시한다고 생각하시면 편합니다.) 중괄호 안에서 break 를 만나면 while 반복문을 강제로 탈출합니다. -----.. 2024. 3. 20.
[Zig] if 조건문(statement) if 조건문을 정의하는 방법은 다음 같습니다. --------------------------------------------------------------------------------------------------- if ( true 또는 false 가 나오는 조건식 ) { 위 조건식이 true 일 경우 실행할 내용 } else if ( true 또는 false 가 나오는 조건식 ) { 위 조건식이 true 일 경우 실행할 내용 } else { 모든 조건식이 false 일 경우 실행할 내용 } else if 또는 else 영역은 필요하지 않으면 생략 가능합니다. ---------------------------------------------------------------------------.. 2024. 3. 20.