단위 형식(F#)

unit 형식은 특정 값이 없음을 나타내는 형식입니다. unit 형식에는 다른 어떠한 값도 없거나 다른 값이 필요하지 않을 때 자리 표시자 역할을 하는 값 하나만 사용됩니다.

// The value of the unit type.
()

설명

모든 F# 식은 계산 결과로 값을 구할 수 있어야 합니다. 필요한 값을 생성하지 않는 식에 대해서는 unit 형식의 값이 사용됩니다. unit 형식은 C# 및 C++ 같은 언어의 void 형식과 비슷합니다.

unit 형식에는 값이 하나 있으며, 이 값은 () 토큰을 사용하여 표시됩니다.

unit 형식의 값은 F# 프로그래밍에서 자리 표시자로 사용되는 일이 많습니다. 이는 언어 구문상 값이 필요하지만 어떠한 값도 실제로 필요하거나 요구되지 않을 때 값이 있어야 할 자리를 나타내는 역할을 합니다. printf 함수의 반환 값을 예로 들 수 있습니다. printf 작업의 주요 동작은 함수에서 이루어지므로 이 함수는 실제 값을 반환할 필요가 없습니다. 따라서 그 반환 값은 unit 형식이 됩니다.

구문 중에는 unit 값이 필요한 것도 있습니다. 예를 들어 모듈의 최상위 수준에 작성되는 코드나 do 바인딩은 그 실행 결과가 unit 값이어야 합니다. 다음 예제에서와 같이 모듈의 최상위 수준에 있는 코드나 do 바인딩을 통해 얻은 결과가 실제로 사용되지 않는 unit 값이 아닌 다른 결과인 경우 컴파일러에서 오류가 보고됩니다.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20 
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

이 경고는 함수형 프로그래밍의 특징입니다. 다른 .NET 프로그래밍 언어에는 이와 같은 경고가 나타나지 않습니다. 함수가 어떠한 파생 작업도 수행하지 않는 순수한 함수형 프로그램에서는 최종 반환 값이 함수 호출의 유일한 결과입니다. 따라서 결과가 무시되는 경우 이는 프로그래밍 오류일 수 있습니다. F#은 순수한 함수형 프로그래밍 언어는 아니지만 가능하면 항상 함수형 프로그래밍 스타일을 따르는 것이 좋습니다.

참고 항목

참조

기본 형식(F#)

기타 리소스

F# 언어 참조