一、MoonBit语言
MoonBit 是一个用于云计算和边缘计算的 WebAssembly 端到端的编程语言工具链。 您可以访问 https://try.moonbitlang.cn 获得 IDE 环境,无需安装任何软件,也不依赖任何服务器。
主要优势:
- 生成比现有解决方案明显更小的 WASM 文件。
- 更高的运行时性能。
- 先进的编译时性能。
- 简单且实用的数据导向语言设计。
注意:MoonBit 目前处于 Beta-Preview 阶段。我们期望能在 2024/11/22 达到 Beta 阶段,2025年内达到 1.0 阶段。
学习MoonBit之前请有一定编程基础,不建议盲目学习。
一、数据类型
MoonBit语言类似于 TypeScript 和 Java
String 数据类型 : 可以装载字符串、字符的容器
fn init {
//第一种 : 写法
let greeting ="Hello"+" "+"Word"
println(greeting)
//第二种 : 写法 规定数据类型
let greeting : String ="Hello"+" "+"Word"
//打印语句
println(greeting)
//两种写法并没有本质区别,就是规范代码 就算不写同样编译器默认就是Hello Word
}
Int 数据类型 :可以装载整形、整数的容器
fn init {
//在这种情况下计算默认返回 Int类型
let number = 10 / 1;
//这种情况编译会报错:因为MoonBit 语言确定数据类型,是通过前面第一个数字是否属于哪一种数据类型
//let number = 10 / 1.5;
//这种情况默认数据类型为Double
let number = 10.2 / 1.5;
//打印
println(number)
}
Double 数据类型 : 可以装载整形、浮点型的容器
fn init {
//在这种情况并不会出现异常
let number = 10.5 + 2.4 / 0;
println(number)//打印 : Infinity
//这种情况并不会出现异常
let number : Double = 1.2 + 1;
//打印 : 2.2
println(number)
}
Bool 数据类型 : 可以装载 是 与 非
fn init {
//用于条件判断
let flag : Bool = false;
//打印 false
println(flag)
//not 反之 打印 true
println(not(false))
//不能等于false则返回true 等于false返回false
println(flag != false)
//等于false返回true 不等于false返回false
println(flag == false)
}
Char 数据类型:可以装载一个字符
fn init {
//只能装一个字符 而不是一个字节
let flag : Char = '1';
println(flag)
}
总结
fn init {
let greeting ="Hello Word"
let number : Int = 1;
let double : Double = 10.2;
let flag : Bool = true;
println(flag)
println(double)
println(number)
println(greeting)
}
三、程序入口
在MoonBit中,他有两种运行方法。
init:允许多个、按顺序执行
main:只能允许有一个、在同时出现init和main情况下,main会最后执行
fn init {
let flag : Char = '1';
println(flag)
}
fn main {
print("312")
}
fn init {
print("123")
}