Skip to content

Commit

Permalink
Merge pull request #139 from moonbitlang/remove_var_shorthand
Browse files Browse the repository at this point in the history
clean description to `var` and `:=` in README_CN
  • Loading branch information
bzy-debug authored Jan 12, 2024
2 parents 4ad9b5e + e743393 commit 6ca53c4
Showing 1 changed file with 5 additions and 16 deletions.
21 changes: 5 additions & 16 deletions zh-docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ let another_hex = 0xA

```rust live
fn init {
x := 42
let x = 42
print("The answer is \(x)")
}
```
Expand Down Expand Up @@ -336,30 +336,19 @@ fn init {

## 变量绑定

变量可以使用关键字 `var``let` 分别声明为可变或不可变。
变量可以通过 `let mut``let` 分别声明为可变或不可变。
可变变量可以重新赋值,不可变变量则不能。

```rust live
let zero = 0

fn init {
let mut i = 10
i = 20
i = 20
print(i + zero)
}
```

对于局部不可变绑定,还可以使用 `:=` 的简写语法糖。

```rust live
fn init {
a := 3
b := "hello"
print(a)
print(b)
}
```

## 数据类型

创建新数据类型的方法有两种:`struct``enum`
Expand Down Expand Up @@ -434,8 +423,8 @@ fn init {

我们已经展示了对枚举进行模式匹配的用例,但是模式匹配不局限于枚举。
例如,我们也可以对布尔值、数字、字符、字符串、元组、数组和结构体字面量进行模式匹配。
由于这些类型和枚举不同,只有一种情况,我们可以使用 `let`/`var` 绑定而不是 `match` 表达式来对它们进行模式匹配
需要注意的是,在 `match` 中绑定的变量的作用域仅限于引入该变量的分支,而 `let`/`var` 绑定将引入每个变量到当前作用域。
由于这些类型和枚举不同,它们只有一种情况,因此我们可以直接使用 `let` 绑定来对它们进行模式匹配
需要注意的是,在 `match` 中绑定的变量的作用域仅限于引入该变量的分支,而 `let` 绑定将引入每个变量到当前作用域。
此外,我们可以使用下划线 `_` 作为我们不关心的值的通配符。

```rust
Expand Down

0 comments on commit 6ca53c4

Please sign in to comment.