옵셔널 타입을 사용하는 방법은 다음 같습니다.
---------------------------------------------------------------------------------------------------
const 또는 var 변수 이름 : ? 형태와 크기 = 할당할 초기 값
옵셔널은 값을 가질수도 있고, 아닐수도 있는 변수 타입입니다.
---------------------------------------------------------------------------------------------------
예시
// 함수의 반환 타입이 ?u16 로 옵셔널입니다.
fn myFunc() ?u16
{
// 함수 실행 과정에 문제가 있어서 null 을 반환한다고 가정합니다.
return null;
// 정상적으로 동작한다면 값을 반환할 수도 있습니다.
return 1234;
}
pub fn main() void
{
// result 에는 null 또는 u16 값이 저장될 수 있습니다.
// myFunc() 함수의 실행 결과는 컴파일 타임에 null 로 결정되고 있습니다.
// 따라서 result 에는 null 이 저장됩니다.
const result = myFunc(); // 함수의 반환형이 명확하므로 형태와 크기 를 생략할 수 있습니다.
// result 가 null 이므로 answer 에는 4321 이 저장됩니다.
var answer: u16 = result orelse 4321;
// " The Answer: 4321 " 이 출력됩니다.
std.debug.print( " The Answer: {}.\n ", .{answer});
}
'Zig' 카테고리의 다른 글
[Zig] 값(values) (0) | 2024.03.21 |
---|---|
[Zig] 메소드(methods) (0) | 2024.03.21 |
[Zig] 포인터(pointers) (0) | 2024.03.21 |
[Zig] 구조체(structs) (0) | 2024.03.21 |
[Zig] 열거형(enums) (0) | 2024.03.21 |