Tipo de unidade
O unit
tipo é um tipo que indica a ausência de um valor específico, o unit
tipo 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.
()
Observações
Cada expressão F# deve ser avaliada com um valor. Para expressões que não geram um valor de interesse, o valor do tipo unit
é usado. O unit
tipo é semelhante ao void
tipo em linguagens como C# e C++.
O unit
tipo tem um único valor, e esse valor é indicado pelo token ()
.
O valor do unit
tipo é frequentemente usado na programação em F# para manter o local onde um valor é exigido pela sintaxe da linguagem, mas quando nenhum valor é necessário ou desejado. Um exemplo pode ser o valor de retorno de uma printf
função. Como as ações importantes da printf
operação ocorrem na função, a função não precisa retornar um valor real. Portanto, o valor de retorno é do tipo unit
.
Algumas construções esperam um unit
valor. Por exemplo, espera-se que uma do
associação ou qualquer código no nível superior de um módulo seja avaliado para um unit
valor. O compilador relata um aviso quando uma do
ligação ou código no nível superior de um módulo produz um resultado diferente do unit
valor que não é usado, como 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
Este aviso é uma característica da programação funcional; ele não aparece em outras linguagens de programação .NET. Em um programa puramente funcional, no qual as funções não têm efeitos colaterais, o valor de retorno final é o único resultado de uma chamada de função. Portanto, quando o resultado é ignorado, é um possível erro de programação. Embora o 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.