Dengan Swift 3 & 4 , pi sekarang didefinisikan sebagai variabel statis pada tipe angka floating point Double
, Float
dan CGFloat
, jadi tidak ada lagi impor khusus yang diperlukan:
Double.pi
Float.pi
CGFloat.pi
Perhatikan juga bahwa tipe aktual .pi
dapat disimpulkan oleh kompiler. Jadi, dalam situasi di mana jelas dari konteks yang Anda gunakan misalnya CGFloat
, Anda bisa menggunakannya.pi
(terima kasih kepada @Qbyte dan @rickster untuk menunjukkannya di komentar).
Untuk versi Swift yang lebih lama :
M_PI
pada awalnya didefinisikan Darwin
tetapi juga terkandung dalam Foundation
dan UIKit
, jadi mengimpor semua ini akan memberi Anda akses yang tepat.
import Darwin // or Foundation or UIKit
let pi = M_PI
Catatan:
Seperti disebutkan dalam komentar, pi juga dapat digunakan sebagai karakter unicode di Swift, jadi sebaiknya Anda lakukan juga
let π = M_PI
alt + p
adalah jalan pintas (di keyboard US) yang akan membuat π
karakter unicode.
var π = M_PI
var
. Tentunyalet pi = M_PI
?.pi
bukan formulir panjang. Misalnyalet x = CGFloat(42) * .pi
import Darwin
tidak diperlukan semua M_x terlihat denganimport Foundation
(Xcode Versi 6.4 (6E35b))
sumber
peringatan: 'M_PI' sudah usang: Silakan gunakan 'Double.pi' atau '.pi' untuk mendapatkan nilai dari jenis yang benar dan menghindari casting.
Secara mengejutkan, .pi juga berfungsi dengan baik. M_PI sudah tidak digunakan lagi pada Swift 4.2.1, Xcode 10.1, yang merupakan versi saat ini yang saya gunakan. SO, Gunakan .pi, atau Double.pi
sumber