From 29f2cca7c88160a497ca08f2a34cbb85054e8b31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BA=86=E6=B3=89?= Date: Thu, 3 Aug 2023 11:23:59 +0800 Subject: [PATCH] Update data-type.md --- docs/uts/data-type.md | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/uts/data-type.md b/docs/uts/data-type.md index 3564fd94b..e8388f9c3 100644 --- a/docs/uts/data-type.md +++ b/docs/uts/data-type.md @@ -31,12 +31,29 @@ let d = 3.14159 #### Kotlin 特有的数字类型 @Kotlin -- Byte, UByte -- Short, UShort -- Int, UInt -- Long, ULong -- Float -- Double +kotlin 本身支持下列数据类型 + +|类型名称|长度 |最小值 |最大值 |描述| +|:-- |:--- |:--- |:--- |:-- | +|Byte |8bit |-128 |127 |与byte类似| +|UByte |8bit |0 |255 |与byte类似| +|Short |16bit |-32768 |32767 |与byte类似| +|UShort |16bit |0 |65535 |与byte类似| +|Int |32bit |-2147483648 |2147483647 |与byte类似| +|UInt |32bit |0 |4294967295 |与byte类似| +|Long |64bit |-9223372036854775808 |9223372036854775807 |与byte类似| +|ULong |64bit |0 |9223372036854775807 * 2 + 1 |与byte类似| +|Float |32bit |1.4E-45F |3.4028235E38F |与byte类似| +|Double |64bit |4.9E-324 | 1.7976931348623157E308 |与byte类似| + + +**特有数字类型的使用场景** + +大多数场景下,开发者使用 字面量(即Number类型)就可以满足需要,但是也有需要特有数字类型的场景。 + +1. 在 kotlin 和 swift 中,有些系统API或三方SDK的入参或返回值的类型,强制约定了平台特有数字类型,此时无法使用number。 +2. number 作为泛数字,性能还是弱于Int。在普通计算中无法体现出差异,但在千万次运算后,累计会产生毫秒级速度差异。 + #### Swift 特有的数字类型 @Swift -- GitLab