W tym temacie opisano typy używane w języku F# oraz sposób, w jaki typy F# są nazwane i opisane.
Podsumowanie typów języka F#
Niektóre typy są uważane za typy pierwotne, takie jak typ logiczny oraz typy bool całkowite i zmiennoprzecinkowe o różnych rozmiarach, które obejmują typy bajtów i znaków. Te typy są opisane w temacie Typy pierwotne.
Inne typy wbudowane w język obejmują krotki, listy, tablice, sekwencje, rekordy i związki dyskryminujące. Jeśli masz doświadczenie z innymi językami .NET i uczysz się języka F#, przeczytaj tematy dla każdego z tych typów. Te typy specyficzne dla języka F# obsługują style programowania, które są wspólne dla języków programowania funkcjonalnego. Wiele z tych typów ma skojarzone moduły w bibliotece języka F#, które obsługują typowe operacje na tych typach.
Typ funkcji zawiera informacje o typach parametrów i typie zwracanym.
.NET Framework jest źródłem typów obiektów, typów interfejsów, typów delegatów i innych. Możesz zdefiniować własne typy obiektów tak samo jak w dowolnym innym języku platformy .NET.
Ponadto kod F# może definiować aliasy, które są nazwane skrótami typów, które są alternatywnymi nazwami typów. Możesz użyć skrótów typów, gdy typ może ulec zmianie w przyszłości i chcesz uniknąć zmiany kodu, który zależy od typu. Możesz też użyć skrótu typu jako przyjaznej nazwy dla typu, który może ułatwić odczytywanie i zrozumienie kodu.
Język F# udostępnia przydatne typy kolekcji zaprojektowane z myślą o programowaniu funkcjonalnym. Użycie tych typów kolekcji ułatwia pisanie kodu, który jest bardziej funkcjonalny w stylu. Aby uzyskać więcej informacji, zobacz F# Collection Types (Typy kolekcji języka F#).
Składnia typów
W kodzie języka F# często trzeba zapisywać nazwy typów. Każdy typ ma formę składniową i używasz tych form składniowych w adnotacjach typu, deklaracjach metody abstrakcyjnej, deklaracjach delegatów, podpisach i innych konstrukcjach. Za każdym razem, gdy deklarujesz nową konstrukcję programu w interpreterze, interpreter wyświetla nazwę konstrukcji i składnię dla jego typu. Ta składnia może być tylko identyfikatorem typu zdefiniowanego przez użytkownika lub wbudowanym identyfikatorem, takim jak dla int lub string, ale w przypadku bardziej złożonych typów składnia jest bardziej złożona.
W poniższej tabeli przedstawiono aspekty składni typu dla typów języka F#.
Typ
Składnia typów
Przykłady
typ pierwotny
nazwa-typu
int
float
string
typ agregacji (klasa, struktura, unia, rekord, wyliczenie itd.)
nazwa-typu
System.DateTime
Color
skrót typu
nazwa-skrót-typu
bigint
w pełni kwalifikowany typ
namespaces.type-name
lub
modules.type-name
lub
namespaces.modules.type-name
System.IO.StreamWriter
tablica
type-name[] lub
tablica nazw typów
int[]
array<int>
int array
tablica dwuwymiarowa
type-name[,]
int[,]
float[,]
tablica trójwymiarowa
type-name[,,]
float[,,]
tuple
type-name1 * type-name2 ...
Na przykład ma (1,'b',3) typ int * char * int
typ ogólny
type-parametergeneric-type-name
lub
generic-type-name<type-parameter-list>
'a list
list<'a>
Dictionary<'key, 'value>
typ skonstruowany (typ ogólny, który ma podany określony argument typu)
type-argumentgeneric-type-name
lub
generic-type-name<type-argument-list>
int option
string list
int ref
option<int>
list<string>
ref<int>
Dictionary<int, string>
typ funkcji, który ma jeden parametr
parametr-type1 ->return-type
Funkcja, która przyjmuje int element i zwraca string typ, ma typ int -> string
Opisuje tablice, które są uporządkowanymi zestawami modyfikowalnych elementów tego samego typu, które zajmują ciągły blok pamięci i mają stały rozmiar.
Opisuje typ klasy, typ obiektu, który odpowiada typowi odwołania platformy .NET. Typy klas mogą zawierać elementy członkowskie, właściwości, zaimplementowane interfejsy i typ podstawowy.
Opisuje typy interfejsów, które są typami reprezentującymi zestaw elementów członkowskich zapewniających pewne funkcje, ale które nie zawierają żadnych danych. Typ interfejsu musi być implementowany przez typ obiektu, aby był przydatny.
Opisuje wyjątki, które określają informacje o błędzie.
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.