F#变量类型

/ / 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#中的变量是不可变的,这意味着变量一旦绑定到值,就无法更改,它们实际上被编译为静态只读属性。

下面的示例演示了这一点。

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

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

大模型应用一站式开发 -〔袁从德〕

TonyBai · Go语言进阶课 -〔Tony Bai〕

大模型在商业分析中的探索实践 -〔徐小磊〕

AI绘画创作入门课 -〔西瓜〕

大型Android系统重构实战 -〔黄俊彬〕

林外 · 专利写作第一课 -〔林外〕

手把手带你写一个Web框架 -〔叶剑峰〕

Python自动化办公实战课 -〔尹会生〕

持续交付36讲 -〔王潇俊〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者