Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
414a0526
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
414a0526
编写于
12月 22, 2023
作者:
lizhongyi_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update operator.md
上级
d51f4ae4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
9 deletion
+16
-9
docs/uts/operator.md
docs/uts/operator.md
+16
-9
未找到文件。
docs/uts/operator.md
浏览文件 @
414a0526
...
@@ -195,34 +195,41 @@ uts 中算数运算符在大部分场景下和 ts 中的行为一致,但是在
...
@@ -195,34 +195,41 @@ uts 中算数运算符在大部分场景下和 ts 中的行为一致,但是在
| 场景 | 示例 | Kottlin 结果 | Swift 结果 |
| 场景 | 示例 | Kottlin 结果 | Swift 结果 |
| ----------------------------------- | ------------------------------------------- | ------------------------------ |------------------------------------------|
| ----------------------------------- | ------------------------------------------- | ------------------------------ |------------------------------------------|
| number + number | number + number | 结果为 number |结果为 number |
| number +
-
*
/ %
number | number + number | 结果为 number |结果为 number |
| number + 字面量 #{rowspan=2}| number + 1 | 结果为 number |结果为 number |
| number +
-
*
/ %
字面量 #{rowspan=2}| number + 1 | 结果为 number |结果为 number |
| number + 3.14 | 结果为 number |结果为 number |
| number + 3.14 | 结果为 number |结果为 number |
| number + 变量 #{rowspan=4}| let a: Int = 1; number + a | 结果为 number |结果为 number |
| number +
-
*
/ %
变量 #{rowspan=4}| let a: Int = 1; number + a | 结果为 number |结果为 number |
| let b: Double = 1; number + b | 结果为 number |结果为 number |
| let b: Double = 1; number + b | 结果为 number |结果为 number |
| let c: Long = 1; number + c | 结果为 number |Swift 中无 Long |
| let c: Long = 1; number + c | 结果为 number |Swift 中无 Long |
| let d: Int64 = 1; number+ d | kottlin 中无 Int64 |结果为 number |
| let d: Int64 = 1; number+ d | kottlin 中无 Int64 |结果为 number |
| 字面量 + number #{rowspan=2}| 1 + number | 结果为 number |结果为 number |
| 字面量 +
-
*
/ %
number #{rowspan=2}| 1 + number | 结果为 number |结果为 number |
| 3.14 + number | 结果为 number |结果为 number |
| 3.14 + number | 结果为 number |结果为 number |
| 变量 + number #{rowspan=4}| let a: Int = 1; a + number | 结果为 number |编译失败,需要用 (a as number) + number |
| 变量 +
-
*
/ %
number #{rowspan=4}| let a: Int = 1; a + number | 结果为 number |编译失败,需要用 (a as number) + number |
| let b: Double = 1; b + number | 结果为 number |编译失败,需要用 (b as number) + number |
| let b: Double = 1; b + number | 结果为 number |编译失败,需要用 (b as number) + number |
| let c: Long = 1; c + number | 结果为 number |Swift 中无 Long |
| let c: Long = 1; c + number | 结果为 number |Swift 中无 Long |
| let d: Int64 = 1; d + number | kottlin 中无 Int64 |编译失败,需要用 (d as number) + number |
| let d: Int64 = 1; d + number | kottlin 中无 Int64 |编译失败,需要用 (d as number) + number |
| 字面量 + 字面量 #{rowspan=3}| 1 + 1 | 结果为 2 Int |结果为2 Int |
| 字面量 +
-
*
%
字面量 #{rowspan=3}| 1 + 1 | 结果为 2 Int |结果为2 Int |
| 1 + 3.14 | 结果为4.14 Double |结果为4.14 Double |
| 1 + 3.14 | 结果为4.14 Double |结果为4.14 Double |
| 1.0 + 3.14 | 结果为4.14 Double |结果为4.14 Double |
| 1.0 + 3.14 | 结果为4.14 Double |结果为4.14 Double |
| 字面量 / 字面量 | 1 / 10 | 无明确类型时为 0.1 number,有类型时遵守类型约定|无明确类型时为 0.1 number,有类型时遵守类型约定|
| 字面量 / 字面量 | 1 / 10 | 无明确类型时为 0.1 number,有类型时遵守类型约定|无明确类型时为 0.1 number,有类型时遵守类型约定|
| 专有类型变量 / 字面量 #{rowspan=2}| let a: Int = 2; a / 10 | 结果为 0 Int |结果为0 Int |
| 专有类型变量 / 字面量 #{rowspan=2}| let a: Int = 2; a / 10 | 结果为 0 Int |结果为0 Int |
| let a: Int = 2; a / 10.0 | 结果为 0.2 Double |编译失败,Int / Double 不合法 需使用 a / Int(10.0) |
| let a: Int = 2; a / 10.0 | 结果为 0.2 Double |编译失败,Int / Double 不合法 需使用 a / Int(10.0) |
| 专有类型变量 + 字面量 #{rowspan=2}| let a: Int = 2; a + 10 | 结果为 12 Int |结果为12 Int |
| 专有类型变量 +
-
*
%
字面量 #{rowspan=2}| let a: Int = 2; a + 10 | 结果为 12 Int |结果为12 Int |
| let a: Int = 2; a + 3.14 | 结果为 5.14 Double |编译失败, 需要 a + Int(3.14) = 5 |
| let a: Int = 2; a + 3.14 | 结果为 5.14 Double |编译失败, 需要 a + Int(3.14) = 5 |
| 相同的专有类型变量
相加
#{rowspan=2}| let a: Int = 1; let b: Int = 2; a + b | 结果为 3 Int |结果为3 Int |
| 相同的专有类型变量
+ -
*
/ % 操作
#{rowspan=2}| let a: Int = 1; let b: Int = 2; a + b | 结果为 3 Int |结果为3 Int |
| let a: Double = 1.0; let b: Double = 2.0; a + b | 结果为 3.0 Double |结果为 3.0 Double |
| let a: Double = 1.0; let b: Double = 2.0; a + b | 结果为 3.0 Double |结果为 3.0 Double |
| 不同的专有类型变量
相加
#{rowspan=2}| let a: Int = 1; let b: Float = 3.14.toFloat(); a + b | 结果为4.14, Float |编译失败,不同类型变量不能操作 |
| 不同的专有类型变量
+ -
*
/ % 操作
#{rowspan=2}| let a: Int = 1; let b: Float = 3.14.toFloat(); a + b | 结果为4.14, Float |编译失败,不同类型变量不能操作 |
| let a: Float = 1.0.toFloat(); let b: Double = 3.14; a + b| 结果为4.14,Double |编译失败,不同类型变量不能操作 |
| let a: Float = 1.0.toFloat(); let b: Double = 3.14; a + b| 结果为4.14,Double |编译失败,不同类型变量不能操作 |
number 和平台专有类型的 + -
*
/ % 规则:
-
number 在左侧,平台专有类型在右侧,可以进行 + -
*
/ % 操作,其结果是 number. (安卓平台支持所有的专有类型,iOS平台目前支持 Int Double Float Float64 Float32 类型)
-
平台专有类型在左侧,number在右侧,可以进行 + -
*
/ % 操作,其结果是 number. (安卓平台支持所有的专有类型,iOS平台需要将左侧的专有类型变量 as 成 number)
**已知Bug**
**已知Bug**
-
Android平台 uni-app项目的uts插件中,字面量整数相除时真机运行返回类型为number,云端打包返回类型为Int。如let a = 1/10,真机运行时为值为0.1,云端打包后值为0。此问题在uni-app x项目中不存在。
-
Android平台 uni-app项目的uts插件中,字面量整数相除时真机运行返回类型为number,云端打包返回类型为Int。如let a = 1/10,真机运行时为值为0.1,云端打包后值为0。此问题在uni-app x项目中不存在。
-
iOS平台 number 和专有类型的 + -
*
/ 操作目前只支持 Int Double Float Float64 Float32 类型,其余专有类型将在后续版本补齐。
-
iOS平台 number 和专有类型的 % 操作目前只支持 Int 类型,其余专有类型的支持将在后续版本补齐。
## 比较运算符的跨数字类型注意@comparisondifftype
## 比较运算符的跨数字类型注意@comparisondifftype
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录