다음을 통해 공유


F# 형식

이 항목에서는 F#에서 사용되는 형식과 F# 형식의 이름을 지정하고 설명하는 방법에 대해 설명합니다.

F# 형식 요약

일부 형식은 부울 형식bool, 바이트 및 문자에 대한 형식을 포함하는 다양한 크기의 정수 및 부동 소수점 형식과 같은 기본 형식으로 간주됩니다. 이러한 형식은 기본 형식에 설명되어 있습니다.

언어에 기본 제공되는 다른 형식에는 튜플, 목록, 배열, 시퀀스, 레코드 및 구분된 공용 구조체가 포함됩니다. 다른 .NET 언어에 대한 경험이 있고 F#을 학습하는 경우 이러한 각 형식에 대한 항목을 읽어야 합니다. 이러한 F#관련 형식은 기능 프로그래밍 언어에 공통적인 프로그래밍 스타일을 지원합니다. 이러한 유형의 대부분은 이러한 형식에 대한 일반적인 작업을 지원하는 F# 라이브러리에 연결된 모듈을 가지고 있습니다.

함수의 형식에는 매개 변수 형식 및 반환 형식에 대한 정보가 포함됩니다.

.NET Framework는 개체 형식, 인터페이스 형식, 대리자 형식 등의 소스입니다. 다른 .NET 언어에서와 마찬가지로 고유한 개체 형식을 정의할 수 있습니다.

또한 F# 코드는 형식의 대체 이름인 명명된 형식 약어인 별칭을 정의할 수 있습니다. 나중에 형식이 변경될 수 있고 형식에 따라 코드가 변경되지 않도록 하려면 형식 약어를 사용할 수 있습니다. 또는 코드를 읽고 이해하기 쉽게 만들 수 있는 형식에 대한 친숙한 이름으로 형식 약어를 사용할 수 있습니다.

F#은 기능 프로그래밍을 염두에 두고 설계된 유용한 컬렉션 형식을 제공합니다. 이러한 컬렉션 형식을 사용하면 스타일에서 더 기능적인 코드를 작성할 수 있습니다. 자세한 내용은 F# 컬렉션 형식을 참조 하세요.

형식 구문

F# 코드에서는 종종 형식의 이름을 작성해야 합니다. 모든 형식에는 구문 형식이 있으며 형식 주석, 추상 메서드 선언, 대리자 선언, 서명 및 기타 구문에서 이러한 구문 양식을 사용합니다. 인터프리터에서 새 프로그램 구문을 선언할 때마다 인터프리터는 구문의 이름과 해당 형식의 구문을 출력합니다. 이 구문은 사용자 정의 형식의 식별자 또는 기본 제공 식별자(예: for int 또는 string,)일 수 있지만 더 복잡한 형식의 경우 구문이 더 복잡합니다.

다음 표에서는 F# 형식에 대한 형식 구문의 측면을 보여 줍니다.

Type 형식 구문 예제
기본 형식 type-name int

float

string
집계 형식(클래스, 구조체, 공용 구조체, 레코드, 열거형 등) type-name System.DateTime

Color
형식 약어 type-abbreviation-name bigint
정규화된 형식 namespaces.type-name

또는

modules.type-name

또는

namespaces.modules.type-name
System.IO.StreamWriter
배열 type-name[] 또는

type-name 배열
int[]

array<int>

int array
2차원 배열 type-name[,] int[,]

float[,]
3차원 배열 type-name[,,] float[,,]
tuple type-name1 * type-name2 ... 예를 들어 유형이 (1,'b',3) 있습니다. int * char * int
제네릭 형식(generic type) type-parametergeneric-type-name

또는

generic-type-name<type-parameter-list>
'a list

list<'a>

Dictionary<'key, 'value>
생성 형식(특정 형식 인수가 제공된 제네릭 형식) type-argumentgeneric-type-name

또는

generic-type-name<type-argument-list>
int option

string list

int ref

option<int>

list<string>

ref<int>

Dictionary<int, string>
단일 매개 변수가 있는 함수 형식 parameter-type1 ->return-type has 형식을 int 사용하고 반환하는 string 함수 int -> string
여러 매개 변수가 있는 함수 형식 parameter-type1 ->parameter-type2 -> ... ->return-type has 형식을 intfloat 사용하고 반환하는 string 함수 int -> float -> string
매개 변수로서의 상위 순서 함수 (function-type) List.map 에는 형식이 있습니다. ('a -> 'b) -> 'a list -> 'b list
delegate 함수 형식의 대리자 delegate of unit -> int
유연한 형식 #type-name #System.Windows.Forms.Control

#seq<int>
토픽 설명
기본 형식 정수 계열 형식, 부울 형식 및 문자 형식과 같은 기본 제공 단순 형식에 대해 설명합니다.
단위 형식 unit C# 및 Nothing Visual Basic에 해당하는 void 값이 하나 있고 ()로 표시되는 형식인 형식에 대해 설명합니다.
튜플 쌍, 삼중, 4중 등으로 그룹화된 모든 형식의 연결된 값으로 구성된 형식인 튜플 형식에 대해 설명합니다.
옵션 값이 있거나 비어 있을 수 있는 형식인 옵션 형식에 대해 설명합니다.
목록 동일한 형식의 순서가 지정되고 변경할 수 없는 요소 계열인 목록을 설명합니다.
배열 인접한 메모리 블록을 차지하고 고정 크기인 동일한 형식의 변경 가능한 요소의 순서가 지정된 배열을 설명합니다.
시퀀스 값의 논리적 계열을 나타내는 시퀀스 형식을 설명합니다. 개별 값은 필요에 따라 계산됩니다.
레코드 명명된 값의 작은 집계인 레코드 형식에 대해 설명합니다.
구별된 공용 구조체 값이 가능한 형식 집합 중 하나일 수 있는 형식인 구분된 공용 구조체 형식을 설명합니다.
함수 함수 값을 설명합니다.
클래스 .NET 참조 형식에 해당하는 개체 형식인 클래스 형식에 대해 설명합니다. 클래스 형식에는 멤버, 속성, 구현된 인터페이스 및 기본 형식이 포함될 수 있습니다.
구조체 .NET 값 형식에 struct 해당하는 개체 형식인 형식에 대해 설명합니다. 형식은 struct 일반적으로 작은 데이터 집계를 나타냅니다.
인터페이스 특정 기능을 제공하지만 데이터가 없는 멤버 집합을 나타내는 형식인 인터페이스 형식에 대해 설명합니다. 유용하려면 개체 형식에서 인터페이스 형식을 구현해야 합니다.
대리자 함수를 개체로 나타내는 대리자 형식에 대해 설명합니다.
열거형 값이 명명된 값 집합에 속하는 열거형 형식에 대해 설명합니다.
특성 다른 형식에 대한 메타데이터를 지정하는 데 사용되는 특성을 설명합니다.
예외 형식 오류 정보를 지정하는 예외에 대해 설명합니다.