Compartilhar via


Tipo de unidade (F#)

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

// 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 que seja de interesse, o valor do tipo unit é usado. O unit tipo é semelhante a void tipo de idiomas, como C# e C++.

O unit o tipo tem um valor único, e que o valor é indicado pelo token de ().

O valor de unit tipo é freqüentemente usado em programação para manter o lugar onde um valor é necessário para a sintaxe da linguagem, mas quando nenhum valor é necessário ou desejado do F#. Um exemplo pode ser o valor de retorno de um printf função. Porque as ações importantes da printf operação ocorrer na função, a função não tem que retornar o valor real. Portanto, o valor de retorno é do tipo unit.

Algumas construções esperam uma unit valor. Por exemplo, um do vinculação ou qualquer código de nível superior de um módulo é esperado a ser avaliada como um unit valor. O compilador reporta um aviso quando uma do vinculação ou código de nível superior de um módulo produz um resultado diferente de 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

Esse aviso é uma característica da programação funcional; ele não aparece em outros.NET linguagens de programação. Em um programa puramente funcional, nos quais 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 F# não é uma linguagem de programação puramente funcional, é uma boa prática a seguir o estilo de programação funcional, sempre que possível.

Consulte também

Referência

Tipos primitivos (F#)

Outros recursos

Referência de linguagem do F#