以前在Swift語言中,有三個求絕對值的數字函數:bash
abs(x)--x必須爲Int,求Int的絕對值用這個ide
fabs(x)--x必須爲Double,求Double的絕對值用這個函數
fabsf(x)--x必須爲Float,求Float的絕對值用這個ui
那若是我要求一個CGFloat的絕對值呢? 先轉化爲Double或Float,而後再轉回來?spa
Swift5已經悄悄的處理了這個問題(我不肯定是從Swift幾開始的,反正5已經變了),目前搜文檔已經搜不到後面兩個了: code
如今求絕對值統一隻用一個函數就行:cdn
官方說明: 視頻
也就是說只要是遵循Comparable
和
SignedNumeric
協議的東西就行
Comparable
--能夠用大於小於等於進行比較
SignedNumeric
--有正負
本着對技術嚴謹的態度,本人也在playground上跑一遍:htm
import UIKit
let a = abs(-8)
let b = abs(-8.8)
let c = abs(Float(-8.8))
let d = abs(CGFloat(-8.8))
複製代碼