【发布时间】:2018-02-16 04:14:27
【问题描述】:
我正在将项目从 Java 转换为 Swift。我的 Java 代码使用小型数据类型(short、byte)。我应该在 Swift 中使用 Int16、Int8 等价物,还是只使用 Int 类型?内存优化和速度在哪里?
【问题讨论】:
-
即使在 Java 中你也应该使用
int如果没有特别的理由不这样做。请注意,许多 Java 算术运算会自动提升为int。
我正在将项目从 Java 转换为 Swift。我的 Java 代码使用小型数据类型(short、byte)。我应该在 Swift 中使用 Int16、Int8 等价物,还是只使用 Int 类型?内存优化和速度在哪里?
【问题讨论】:
int 如果没有特别的理由不这样做。请注意,许多 Java 算术运算会自动提升为 int。
除非迫不得已,否则请使用 Double 和 Int。其他类型都是为了兼容外部性。
例如,您必须使用 CGFloat 来与 Core Graphics 交换,并且偶尔的 UIKit 对象需要 Float 而不是 Double;并且您可能必须使用 Int8 与某些 C API 进行交换或处理从网络下载的数据。
但 Double 和 Int 是“自然”的 Swift 类型,而 Swift 数字非常死板和笨拙,所以你应该尽可能地坚持使用这些类型。
【讨论】: