From b83696747c7c90f4e614c1dbb05ba592109f9e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=89=E5=AE=89=E7=A7=91=E6=8A=80?= Date: Sun, 24 Dec 2023 11:15:26 +0800 Subject: [PATCH] Update VDSL_CN.md --- VDSL_CN.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/VDSL_CN.md b/VDSL_CN.md index 4fd5e47..2939fc3 100644 --- a/VDSL_CN.md +++ b/VDSL_CN.md @@ -53,7 +53,7 @@ if is_error(err1) { // 'is_error' builtin function ### Const 值 -在VDSL中,基本上所有的值(除了数组和映射)都是常量。 +在VDSL中,基本上所有的值(除了数组和映射)都是常量。 ```golang s := "12345" @@ -79,7 +79,7 @@ a := const([1, 2, 3]) a = false // ok ``` -请注意,如果复制(使用“copy”内置函数)常量值将返回一个“可变”副本。此外,不变性不适用于数组或映射值的各个元素,除非它们是显式生成的常量。 +请注意,如果复制(使用“copy”内置函数)常量值将返回一个“可变”副本。此外,不变性不适用于数组或映射值的各个元素,除非它们是显式生成的常量。 ```golang a := const({b: 4, c: [1, 2, 3]}) @@ -207,7 +207,7 @@ f2([1, 2, 3]...) // valid; a = 1, b = [2, 3] - `:=`运算符在作用域中定义一个新变量并赋值。 - `=`运算符为作用域中的现有变量分配一个新值。 -变量在全局范围(在函数外部定义)或本地范围(在功能内部定义)中定义。 +变量在全局范围(在函数外部定义)或本地范围(在功能内部定义)中定义。 ```golang a := "foo" // define 'a' in global scope @@ -286,7 +286,7 @@ c5 := char("X") // 'X' | `&` | 按位与运算符 | int | | `\|` | 按位或运算符 | int | | `^` | 按位异或运算符 | int | -| `&^` | 位清除(AND NOT) | int | +| `&^` | 位清除(AND NOT) | int | | `<<` | 左移运算符 | int | | `>>` | 右移运算符 | int | | `<` | 检查左边值是否小于右边值 | int, float, char, time, string | @@ -294,9 +294,9 @@ c5 := char("X") // 'X' | `>` | 检查左边值是否大于右边值 | int, float, char, time, string | | `>=` | 检查左边值是否大于等于右边值 | int, float, char, time, string | -### 三目操作符 +### 三元运算符 -VDSL有一个三元条件运算符`(条件表达式)?(true表达式):(false表达式)`。 +VDSL有一个三元条件运算符`(条件表达式)?(true表达式):(false表达式)`。 ```golang a := true ? 1 : -1 // a == 1 @@ -329,7 +329,7 @@ b := min(5, 10) // b == 5 一元运算符具有最高优先级,三元运算符具有最低优先级。二进制运算符有五个优先级。 -乘法运算符绑定最强,其次是加法运算符,比较运算符,“&&”(逻辑AND),最后是“||”(逻辑OR): +乘法运算符绑定最强,其次是加法运算符,比较运算符,“&&”(逻辑AND),最后是“||”(逻辑OR): | 优先级 | 操作符 | | :---: | :---: | @@ -343,7 +343,7 @@ b := min(5, 10) // b == 5 ### 选择器和索引器 -可以使用选择器(`.`)和索引器(`[]`)运算符来读取或写入复合类型(数组、映射、字符串、字节)的元素。 +可以使用选择器(`.`)和索引器(`[]`)运算符来读取或写入复合类型(数组、映射、字符串、字节)的元素。 ```golang ["one", "two", "three"][1] // == "two" @@ -436,7 +436,7 @@ for { VDSL中新增了“For In”语句。它类似于Go的“for range”语句。 -“For In”语句可以迭代任何可迭代的值类型(数组、映射、字节、字符串、nil)。 +“For In”语句可以迭代任何可迭代的值类型(数组、映射、字节、字符串、nil)。 ```golang for v in [1, 2, 3] { // array: element @@ -474,7 +474,7 @@ export func(x) { ``` 默认情况下,“import”将模块文件缺少的扩展名解决为"`.dsl`"[^note]。 -因此,“sum:=import("./sum")”相当于“sum:=import("./sum.dsl")”。 +因此,“sum:=import("./sum")”相当于“sum:=import("./sum.dsl")”。 [^note]: 如果在Go中使用VDSL作为库,则可以自定义文件扩展名“`.dsl`”。在这种情况下,请使用“Compiler”类型的“SetImportFileExt”函数。 @@ -486,7 +486,7 @@ export func(x) { - 模块可以返回“导出”任何类型的值:int、map、function等。 - 模块中的export类似于函数中的return:它停止执行并导入代码返回一个值。 - `export`的值总是常量。 - - 如果模块没有任何“export”语句,则“import”表达式只返回“nil”_(就像没有“return”的函数一样。)_ + - 如果模块没有任何“export”语句,则“import”表达式只返回“nil”_(就像没有“return”的函数一样。)_ - 请注意,如果代码作为主模块执行,则“export”语句将被完全忽略,并且不会进行求值。 此外,您还可以使用“import”表达式来加载标准库。 @@ -498,7 +498,7 @@ a := math.abs(-19.84) // == 19.84 ## Comments -与Go一样,VDSL支持行注释(`//…`)和块注释(`/* ... */`). +与Go一样,VDSL支持行注释(`//…`)和块注释(`/* ... */`). ```golang /*