F# 형식

이 항목에서는 F#에 사용되는 형식을 설명하고 F# 형식이 어떻게 명명 및 설명되는지에 대한 정보를 제공합니다.

F# 형식 요약

일부 형식은 기본 형식으로 간주됩니다. 부울 형식 bool과 다양한 크기의 정수 및 부동 소수점 형식 등이 여기에 해당합니다. 기본 형식에는 바이트 및 문자에 대한 형식이 포함됩니다.이와 같은 형식에 대해서는 기본 형식(F#)에서 설명합니다.

F# 언어에 기본 제공되는 다른 형식으로는 튜플, 목록, 배열, 시퀀스, 레코드 및 구별된 공용 구조체가 있습니다.다른 .NET 언어에 대한 지식을 갖춘 상태에서 F#을 접하는 경우 이들 각 형식에 대한 항목을 읽어야 합니다.이 항목의 관련 항목 단원에는 이러한 형식에 대해 더 자세한 정보를 제공하는 항목의 링크가 나와 있습니다.이와 같은 F# 고유의 형식은 함수형 프로그래밍 언어에 공통적인 프로그래밍 스타일을 지원합니다.이러한 형식 대부분은 해당 형식에 대한 일반적인 작업을 지원하는 F# 라이브러리의 모듈과 관련이 있습니다.

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

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

또한 F# 코드에서는 형식에 대한 대체 이름인 형식 약어라는 별칭을 정의할 수 있습니다.나중에 형식이 변경될 가능성이 있지만 해당 형식을 필요로 하는 코드를 변경하고 싶지 않은 경우 형식 약어를 사용할 수 있습니다.또는 형식 약어를 형식에 대한 알기 쉬운 이름으로 사용하여 코드를 더 읽기 쉽고 이해하기 쉽게 만들 수도 있습니다.

F# 염두에서에 함수형 프로그래밍으로 설계 된 유용한 컬렉션 형식을 제공 합니다.이러한 컬렉션 형식을 사용 하 여 스타일의 기능 코드 작성 하는 데 도움이 됩니다.자세한 내용은 F# 컬렉션 형식를 참조하십시오.

형식의 구문

F# 코드에서는 형식의 이름을 입력해야 하는 일이 많습니다.모든 형식에는 일정한 양식의 구문이 있습니다. 형식 주석, 추상 메서드 선언, 대리자 선언, 시그니처 및 기타 구문의 형식에 이러한 양식의 구문을 사용해야 합니다.해석기에 새 프로그램 구문을 선언할 때마다 해석기에서 구문의 이름과 해당 형식에 필요한 구문을 출력합니다.이 구문은 단순히 사용자 정의 형식의 식별자이거나 int 또는 string 등의 형식에 대한 기본 제공 식별자일 수도 있지만 형식이 복잡할수록 구문도 더 복잡해집니다.

다음 표에는 F# 형식의 구문에 대한 설명이 나와 있습니다.

형식

형식 구문

예제

기본 형식

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

int를 받아들이고 string을 반환하는 함수의 형식은 int -> string입니다.

매개 변수 여러 개가 있는 함수 형식

parameter-type1 -> parameter-type2 -> ...-> return-type

int와 float를 취하고 string을 반환하는 함수의 형식은 int -> float -> string입니다.

매개 변수로서의 고차 함수

(function-type)

List.map의 형식은 ('a -> 'b) -> 'a list -> 'b list입니다.

대리자(delegate)

function-type의 대리자

delegate of unit -> int

유연한 형식

#type-name

#System.Windows.Forms.Control

#seq<int>

관련 항목

항목

설명

기본 형식(F#)

정수 형식, 부울 형식, 문자 형식 등과 같이 기본 제공되는 단순 형식을 설명합니다.

단위 형식(F#)

값이 한 개이고 ()를 사용하여 표시되는 형식인 unit 형식을 설명합니다. 이 형식은 C#의 void나 Visual Basic의 Nothing에 해당합니다.

튜플(F#)

형식에 상관없이 요소 두 개의 쌍, 요소 세 개의 쌍, 요소 네 개의 쌍 등으로 그룹화된 관련 값들로 이루어진 형식인 튜플 형식을 설명합니다.

옵션(F#)

값을 갖거나 비어 있을 수 있는 형식인 옵션 형식을 설명합니다.

목록(F#)

모두 동일한 형식의 요소로 이루어져 있고 순서가 정해져 있는 변경 불가능한 계열인 목록을 설명합니다.

배열(F#)

연속적인 메모리 블록을 차지하고 크기가 정해져 있으며 동일한 형식의 변경 가능한 요소들로 순서를 정해 이루어진 집합인 배열을 설명합니다.

시퀀스(F#)

일련의 논리적 값을 나타내는 시퀀스 형식을 설명합니다. 개별 값은 필요한 경우에만 계산됩니다.

레코드(F#)

명명된 값의 작은 집계를 나타내는 레코드 형식을 설명합니다.

Discriminated Unions(F#)

해당 값이 임의의 가능한 형식 중 하나가 될 수 있는 형식인 구별된 공용 구조체 형식을 설명합니다.

함수(F#)

함수 값을 설명합니다.

클래스(F#)

.NET 참조 형식에 해당하는 개체 형식인 클래스 형식을 설명합니다.클래스 형식에는 멤버, 속성, 구현된 인터페이스 및 기본 형식이 포함될 수 있습니다.

구조체(F#)

.NET 값 형식에 해당하는 개체 형식인 struct 형식을 설명합니다.struct 형식은 일반적으로 데이터의 작은 집계를 나타냅니다.

인터페이스(F#)

특정 기능을 제공하지만 데이터가 포함되지 않은 멤버 집합을 나타내는 형식인 인터페이스 형식을 설명합니다.인터페이스 형식을 사용하려면 이를 개체 형식으로 구현해야 합니다.

대리자(F#)

함수를 개체로 표현하는 대리자 형식을 설명합니다.

열거형(F#)

해당 값이 명명된 값 집합에 속하는 열거형 형식을 설명합니다.

특성(F#)

다른 형식에 대한 메타데이터를 지정하는 데 사용되는 특성을 설명합니다.

예외 형식(F#)

오류 정보를 지정하는 예외를 설명합니다.