W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
變量是給予我們的程序可以操作的存儲區(qū)域的名稱。 每個變量都有一個特定的類型,它決定了變量的內(nèi)存大小和布局; 可以存儲在該存儲器內(nèi)的值的范圍; 以及可以應用于該變量的一組操作。
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
當你編譯和執(zhí)行程序,它產(chǎn)生以下輸出 -
x: 10 y: 20 z: 30
F#中的變量是不可變的,這意味著一旦一個變量被綁定到一個值,它不能被改變。他們實際上是編譯為靜態(tài)的只讀屬性。
下面的例子說明了這一點。
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
當你編譯和執(zhí)行程序,它顯示了以下錯誤消息 -
Duplicate definition of value 'x' Duplicate definition of value 'Y' Duplicate definition of value 'Z'
變量定義告訴編譯器應該在何處創(chuàng)建變量存儲空間。 變量定義可以指定數(shù)據(jù)類型,并包含該類型的一個或多個變量的列表,如以下示例所示。
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
當你編譯和執(zhí)行程序,它顯示了以下錯誤消息 -
x: 10 y: 20 z: 30 p: 15.99 q: 20.78 r: 36.77
有時你需要改變存儲在一個變量的值。來指定,有可能是在一個聲明和分配變量的值的變化,在一個程序的以后部分,F(xiàn)#提供mutable,你可以聲明和使用這個keywords,其值將更改分配可變變量。
mutable允許你聲明和一個可變的變量賦值。
您可以使用let為可變變量分配一些初始值。 但是,要為其分配新的后續(xù)值,則需要使用運算符。
例如,
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
當你編譯和執(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
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: