F #-변수
변수는 프로그램이 조작 할 수있는 저장 영역에 부여 된 이름입니다. 각 변수에는 변수 메모리의 크기와 레이아웃을 결정하는 특정 유형이 있습니다. 해당 메모리 내에 저장할 수있는 값의 범위 변수에 적용 할 수있는 일련의 작업입니다.
F #의 변수 선언
그만큼 let 키워드는 변수 선언에 사용됩니다-
예를 들면
let x = 10
변수 x를 선언하고 여기에 값 10을 할당합니다.
변수에 표현식을 할당 할 수도 있습니다.
let x = 10
let y = 20
let z = x + y
다음 예제는 개념을 보여줍니다-
예
let x = 10
let y = 20
let z = x + y
printfn "x: %i" x
printfn "y: %i" y
printfn "z: %i" z
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
x: 10
y: 20
z: 30
F #의 변수는 다음과 같습니다. immutable,즉, 변수가 값에 바인딩되면 변경할 수 없습니다. 실제로 정적 읽기 전용 속성으로 컴파일됩니다.
다음 예제는이를 보여줍니다.
예
let x = 10
let y = 20
let z = x + y
printfn "x: %i" x
printfn "y: %i" y
printfn "z: %i" z
let x = 15
let y = 20
let z = x + y
printfn "x: %i" x
printfn "y: %i" y
printfn "z: %i" z
프로그램을 컴파일하고 실행하면 다음과 같은 오류 메시지가 표시됩니다.
Duplicate definition of value 'x'
Duplicate definition of value 'Y'
Duplicate definition of value 'Z'
유형 선언을 사용한 변수 정의
변수 정의는 컴파일러에게 변수에 대한 스토리지를 생성해야하는 위치와 양을 알려줍니다. 변수 정의는 데이터 유형을 지정할 수 있으며 다음 예제에 표시된대로 해당 유형의 하나 이상의 변수 목록을 포함합니다.
예
let x:int32 = 10
let y:int32 = 20
let z:int32 = x + y
printfn "x: %d" x
printfn "y: %d" y
printfn "z: %d" z
let p:float = 15.99
let q:float = 20.78
let r:float = p + q
printfn "p: %g" p
printfn "q: %g" q
printfn "r: %g" r
프로그램을 컴파일하고 실행하면 다음과 같은 오류 메시지가 표시됩니다.
x: 10
y: 20
z: 30
p: 15.99
q: 20.78
r: 36.77
가변 변수
때때로 변수에 저장된 값을 변경해야합니다. 프로그램의 후반부에서 선언되고 할당 된 변수의 값이 변경 될 수 있음을 지정하기 위해 F #은mutable예어. 값을 변경할이 키워드를 사용하여 가변 변수를 선언하고 할당 할 수 있습니다.
그만큼 mutable 키워드를 사용하면 가변 변수에 값을 선언하고 할당 할 수 있습니다.
다음을 사용하여 변경 가능한 변수에 초기 값을 할당 할 수 있습니다. let예어. 그러나 새로운 후속 값을 할당하려면← 운영자.
예를 들면
let mutable x = 10
x ← 15
다음 예는 개념을 명확하게합니다.
예
let mutable x = 10
let y = 20
let mutable z = x + y
printfn "Original Values:"
printfn "x: %i" x
printfn "y: %i" y
printfn "z: %i" z
printfn "Let us change the value of x"
printfn "Value of z will change too."
x <- 15
z <- x + y
printfn "New Values:"
printfn "x: %i" x
printfn "y: %i" y
printfn "z: %i" z
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
Original Values:
x: 10
y: 20
z: 30
Let us change the value of x
Value of z will change too.
New Values:
x: 15
y: 20
z: 35