2. 值、类型与函数
let 绑定不可变,var 可变。基本类型有 Int、Float、Bool、String。
顶层函数必须写全参数类型与返回类型——签名即契约。
fn square(x: Int) -> Int = x * x
fn abs(x: Int) -> Int =
if x < 0 { 0 - x } else { x }
pub fn main() -> Unit !io = {
var total = 0
total = total + square(3)
total = total + abs(-4)
println(to_string(total))
}
在 Playground 打开
13
管道 |> 把左侧塞进右侧调用的第一个参数,读起来是数据的流向:
fn double(x: Int) -> Int = x * 2
fn inc(x: Int) -> Int = x + 1
pub fn main() -> Unit !io =
5 |> double |> inc |> to_string |> println
在 Playground 打开
11