Compartilhar via


Literais (F#)

Este tópico fornece uma tabela que mostra como especificar o tipo de um literal em F#.

Tipos literais

A tabela a seguir mostra os tipos de literais no F#. Os caracteres que representam dígitos em notação hexadecimal não diferenciam maiúsculas de minúsculas; os caracteres que identificam o tipo diferenciam maiúsculas de minúsculas.

Tipo

Descrição

Sufixo ou prefixo

Exemplos

sbyte

inteiro de 8 bits com sinal

y

86y

0b00000101y

Byte

número natural de 8 bits sem sinal

uy

86uy

0b00000101uy

int16

inteiro de 16 bits com sinal

s

86s

uint16

número natural de 16 bits sem sinal

us

86us

int

int32

inteiro de 32 bits com sinal

l ou nenhum

86

86l

uint

uint32

número natural de 32 bits sem sinal

u ou ul

86u

86ul

unativeint

ponteiro nativo como um número natural sem sinal

un

0x00002D3Fun

int64

inteiro de 64 bits com sinal

L

86L

uint64

número natural de 64 bits sem sinal

UL

86UL

simples, float32

Número de ponto flutuante 32-bit

F ou f

4.14F ou 4.14f

lf

0x00000000lf

float; double

Número de ponto flutuante 64-bit

nenhum

4.14 ou 2.3E+32 ou 2.3e+32

LF

0x0000000000000000LF

bigint

inteiro não limitado a representação de 64 bits

I

9999999999999999999999999999I

decimal

número fracionário representado como um ponto fixo ou um número racional

M ou m

0.7833M ou 0.7833m

Char

Um caractere Unicode

nenhum

'a'

Cadeia de caracteres

Cadeia de caracteres Unicode

nenhum

"text\n"

ou

@"c:\filename"

ou

"""<book title="Paradise Lost">"""

ou

"string1" + "string2"

Consulte também Cadeias de caracteres (F#).

Byte

Caractere ASCII

B

'a'B

byte[]

Cadeia de caracteres ASCII

B

"text"B

Cadeia de caracteres ou byte[]

cadeia de caracteres verbatim

@ prefixo

@"\\server\share" (Unicode)

@"\\server\share"B (ASCII)

Comentários

As cadeias de caracteres Unicode podem conter as codificações explícitas que você pode especificar usando \u seguido por um código hexadecimal de 16 bits ou pela codificação UTF-32 que você pode especificar usando \U seguido por um código hexadecimal de 32 bits que representa um par substituto Unicode.

A partir do F# 3.1, você pode usar o sinal + para combinar literais de cadeia de caracteres. Você também pode usar o bit a bit ou operador (|||) para combinar sinalizadores de enum. Por exemplo, o código a seguir é aceitável em F# 3.1:

[<Literal>]
let literal1 = "a" + "b"

[<Literal>]
let fileLocation =   __SOURCE_DIRECTORY__ + "/" + __SOURCE_FILE__

[<Literal>]
let literal2 = 1 ||| 64

[<Literal>]
let literal3 = System.IO.FileAccess.Read ||| System.IO.FileAccess.Write

O uso de outros operadores bit a bit não é permitido.

Literais nomeados

Os valores que pretendem ser constantes podem ser marcados com o atributo Literal. Este atributo tem o efeito de causar um valor a ser compilado como uma constante.

Em expressões de correspondência de padrão, os identificadores que começam com caracteres minúsculos sempre serão tratados como variáveis a serem associadas, em vez de como literais, portanto você geralmente deverá usar iniciais maiúsculas ao definir literais.

Consulte também

Referência

Literais (F#)

Classe Core.LiteralAttribute (F#)