Tipo unit

O tipo unit indica a ausência de um valor específico; o tipo unit tem apenas um único valor, que atua como um espaço reservado quando nenhum outro valor existe ou é necessário.

Sintaxe

// The value of the unit type.
()

Comentários

Cada expressão F# deve ser avaliada como um valor. Para expressões que não geram um valor de interesse, o valor do tipo unit é usado. O tipo unit é semelhante ao tipo void em linguagens como C# e C++.

O tipo unit tem um único valor e esse valor é indicado pelo token ().

O valor do tipo unit geralmente é usado na programação em F# para manter o local em que um valor é exigido pela sintaxe da linguagem quando nenhum valor é necessário ou desejado. Um exemplo pode ser o valor retornado de uma função printf. Como as ações importantes da operação printf ocorrem na função, a função não precisa retornar um valor real. Portanto, o valor retornado é do tipo unit.

Alguns constructos esperam um valor unit. Por exemplo, espera-se que uma associação do ou qualquer código no nível superior de um módulo seja avaliado como um valor unit. O compilador relata um aviso quando uma associação do ou um código no nível superior de um módulo produz um resultado diferente do valor unit que não é usado, conforme mostrado no exemplo a seguir.

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

Esse aviso é uma característica da programação funcional que não aparece em outras linguagens de programação do .NET. Em um programa puramente funcional, no qual as funções não têm efeitos colaterais, o valor retornado final é o único resultado de uma chamada de função. Portanto, quando o resultado é ignorado, isso consiste em um possível erro de programação. Embora F# não seja uma linguagem de programação puramente funcional, é uma boa prática seguir o estilo de programação funcional sempre que possível.

Confira também