Как получить постоянную постоянную PI в Swift

Я пытаюсь найти способ включить константу PI в мой код Swift. Я уже нашел помощь в другом ответе, до import Darwin, который, как я знаю, дает мне доступ к функциям C.

Я также проверил пакет Math в Darwin и наткнулся на следующее объявление:

var M_PI: Double { get } /* pi */

Итак, я предполагаю, что есть способ использовать PI в коде, я просто не знаю, как...

Ответ 1

С Swift 3 pi теперь определяется как статическая переменная для типов чисел с плавающей запятой Double, Float и CGFloat, поэтому никаких конкретных импортных потребностей больше не требуется:

Double.pi
Float.pi
CGFloat.pi

Также обратите внимание, что фактический тип .pi может быть выведен компилятором. Таким образом, в ситуациях, когда это ясно из контекста, который вы используете, например. CGFloat, вы можете просто использовать .pi (спасибо @Qbyte и @rickster за то, что указали это в комментариях).

Для старых версий Swift:

M_PI изначально определяется в Darwin, но также содержится в Foundation и UIKit, поэтому импорт любого из них даст вам правильный доступ.

import Darwin // or Foundation or UIKit

let pi = M_PI

Примечание: Как отмечено в комментариях, pi также может использоваться как символ Unicode в Swift, поэтому вы также можете сделать

let π = M_PI

alt + p - это ярлык (на US-клавиатурах), который создаст символ π unicode.

Ответ 2

import Darwin не требуется, все M_x видны с помощью import Foundation

(Xcode Version 6.4 (6E35b))