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.