F#變量

2022-08-16 09:33 更新

變量是給予我們的程序可以操作的存儲(chǔ)區(qū)域的名稱。 每個(gè)變量都有一個(gè)特定的類型,它決定了變量的內(nèi)存大小和布局; 可以存儲(chǔ)在該存儲(chǔ)器內(nèi)的值的范圍; 以及可以應(yīng)用于該變量的一組操作。

在F#變量聲明

let用于變量聲明

例如,

let x = 10

它聲明一個(gè)變量x和值10分配給它。

您還可以分配給一個(gè)變量表達(dá)式 -

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

當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出 -

x: 10
y: 20
z: 30

F#中的變量是不可變這意味著一旦一個(gè)變量被綁定到一個(gè)值,它不能被改變。他們實(shí)際上是編譯為靜態(tài)的只讀屬性。

下面的例子說明了這一點(diǎn)。

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

當(dāng)你編譯和執(zhí)行程序,它顯示了以下錯(cuò)誤消息 -

Duplicate definition of value 'x'
Duplicate definition of value 'Y'
Duplicate definition of value 'Z'

變量定義帶類型聲明

變量定義告訴編譯器應(yīng)該在何處創(chuàng)建變量存儲(chǔ)空間。 變量定義可以指定數(shù)據(jù)類型,并包含該類型的一個(gè)或多個(gè)變量的列表,如以下示例所示。

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

當(dāng)你編譯和執(zhí)行程序,它顯示了以下錯(cuò)誤消息 -

x: 10
y: 20
z: 30
p: 15.99
q: 20.78
r: 36.77

可變變量

有時(shí)你需要改變存儲(chǔ)在一個(gè)變量的值。來指定,有可能是在一個(gè)聲明和分配變量的值的變化,在一個(gè)程序的以后部分,F(xiàn)#提供mutable,你可以聲明和使用這個(gè)keywords,其值將更改分配可變變量。

mutable允許你聲明和一個(gè)可變的變量賦值。

您可以使用let為可變變量分配一些初始值。 但是,要為其分配新的后續(xù)值,則需要使用運(yùn)算符。

例如,

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

當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出 -

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
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)