Swift数据类型相对比较简单,可以参考下面的一张图
-
Bool 布尔类型
- Bool 类型的值只有2个 true 和 false ,且他们对应的哈希值 也不是 1 和 0
- Bool 类型不支持YES 和 NO
-
Int 整型
- 不同进制的写法 (以 十进制 的30 为例),一般项目中都是使用十进制
- 简单声明
var a = 1
var b: Int = 2
var c: UInt = 3
比较实用的一些方法
-
float、Double 浮点类型
比较实用的一些方法
官方的一些源码,简单那处理下可以更直观
public enum FloatingPointRoundingRule : Sendable {
/// (5.2).rounded(.toNearestOrAwayFromZero)
/// // 5.0
/// (5.5).rounded(.toNearestOrAwayFromZero)
/// // 6.0
/// (-5.2).rounded(.toNearestOrAwayFromZero)
/// // -5.0
/// (-5.5).rounded(.toNearestOrAwayFromZero)
/// // -6.0
case toNearestOrAwayFromZero
/// (5.2).rounded(.toNearestOrEven)
/// // 5.0
/// (5.5).rounded(.toNearestOrEven)
/// // 6.0
/// (4.5).rounded(.toNearestOrEven)
/// // 4.0
case toNearestOrEven
/// (5.2).rounded(.up)
/// // 6.0
/// (5.5).rounded(.up)
/// // 6.0
/// (-5.2).rounded(.up)
/// // -5.0
/// (-5.5).rounded(.up)
/// // -5.0
case up
///
/// (5.2).rounded(.down)
/// // 5.0
/// (5.5).rounded(.down)
/// // 5.0
/// (-5.2).rounded(.down)
/// // -6.0
/// (-5.5).rounded(.down)
/// // -6.0
///
case down
///
/// (5.2).rounded(.towardZero)
/// // 5.0
/// (5.5).rounded(.towardZero)
/// // 5.0
/// (-5.2).rounded(.towardZero)
/// // -5.0
/// (-5.5).rounded(.towardZero)
/// // -5.0
case towardZero
/// (5.2).rounded(.awayFromZero)
/// // 6.0
/// (5.5).rounded(.awayFromZero)
/// // 6.0
/// (-5.2).rounded(.awayFromZero)
/// // -6.0
/// (-5.5).rounded(.awayFromZero)
/// // -6.0
case awayFromZero
}
FloatingPointRoundingRule 这个枚举简单实用如下
官方的解释程序如下
let x = 8.625
print(x / 0.75)
// Prints "11.5"
let q = (x / 0.75).rounded(.toNearestOrEven)
// q == 12.0
let r = x.remainder(dividingBy: 0.75)
// r == -0.375
let x1 = 0.75 * q + r
// x1 == 8.625
-
Character 字符类型 (用的很少很少)
字符类型可以存储ASCII字符、Unicode字符