字面量和类型
对于 42
、 3.14
、 0xFF
和 false
这样的语法结构,我们称之为字面量。字面量是代码中表示固定值的直接方式。
基础类型
MoonBit 提供了多种基础数据类型,下面是对应的字面量表示:
类型 | 字面量示例 | 描述 |
---|---|---|
Int |
42 |
32 位有符号整数 |
Double |
3.14 |
双精度浮点数 |
Bool |
true , false |
布尔值,表示真或假 |
Char |
'a' |
单个 Unicode 字符 |
String |
"hello" |
字符串,由零个或多个字符组成 |
Unit |
() |
只有一个值的类型。通常用于表示函数没有有意义的返回值 |
整数字面量的不同表示
整数可以用多种进制表示,MoonBit 支持:
- 十进制:
1000000
或1_000_000
(下划线分隔符增强可读性) - 十六进制:
0xFFFF
(以0x
开头) - 八进制:
0o777
(以0o
开头) - 二进制:
0b1010
(以0b
开头)
算术运算
这个示例展示了基本的算术运算符以及不同数值类型的使用。
///|
fn main {
// 整数的不同表示方式
let dec : Int = 1000000
let dec2 : Int = 1_000_000 // 十进制(使用下划线分隔符)
let hex : Int = 0xFFFF // 十六进制
let oct = 0o777 // 八进制
let bin = 0b1001 // 二进制
println("numbers:")
println(dec)
println(dec2)
println(hex)
println(oct)
println(bin)
println("unit:")
let unit : Unit = ()
println(unit)
// 基本算术运算
println("arithmetic:")
println(1 + 2)
println(1 - 2)
println(1 * 2)
println(5 / 2)
println(10 % 3)
// 浮点数类型
let num1 : Double = 3.14 // 双精度浮点数
let num2 : Float = 3.14 // 单精度浮点数
println("floating points:")
println(num1)
println(num2)
}