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 형식을 int float 사용하고 반환하는 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 일반적으로 작은 데이터 집계를 나타냅니다. |
인터페이스 | 특정 기능을 제공하지만 데이터가 없는 멤버 집합을 나타내는 형식인 인터페이스 형식에 대해 설명합니다. 유용하려면 개체 형식에서 인터페이스 형식을 구현해야 합니다. |
대리자 | 함수를 개체로 나타내는 대리자 형식에 대해 설명합니다. |
열거형 | 값이 명명된 값 집합에 속하는 열거형 형식에 대해 설명합니다. |
특성 | 다른 형식에 대한 메타데이터를 지정하는 데 사용되는 특성을 설명합니다. |
예외 형식 | 오류 정보를 지정하는 예외에 대해 설명합니다. |
.NET