Подтвердить что ты не робот

Как узнать максимальное значение для Int в Swift

Я хочу понять, как получить доступ к типу "struct" Int. Когда я набрал cmd Int, я взял меня в этот класс, я хочу узнать, какое максимальное значение оно может удержать. Есть ли способ вытащить из одного из этих свойств?. что такое max и min в этой структуре?

struct Int : SignedInteger {
    var value: Builtin.Word
    init()
    init(_ v: Builtin.Word)
    init(_ value: Int)
    static func convertFromIntegerLiteral(value: Int) -> Int
    typealias ArrayBoundType = Int
    func getArrayBoundValue() -> Int
    static var max: Int { get }
    static var min: Int { get }
}
4b9b3361

Ответ 1

"Вы можете получить доступ к минимальным и максимальным значениям каждого целочисленного типа с его минимальными и максимальными свойствами:

let minValue = UInt8.min  // minValue is equal to 0, and is of type UInt8
let maxValue = UInt8.max  // maxValue is equal to 255, and is of type UInt8

Значения этих свойств имеют тип номера соответствующего размера (например, UInt8 в приведенном выше примере) и поэтому могут использоваться в выражениях наряду с другими значениями одного и того же типа. "

Отрывок из: Apple Inc. "Быстрый язык программирования". интерактивные книги. https://itun.es/in/jEUH0.

Ответ 2

Вы можете получить доступ к минимальным и максимальным значениям каждого целочисленного типа с его минимальными и максимальными свойствами:

let minValue = UInt8.min  // minValue is equal to 0, and is of type UInt8
let maxValue = UInt8.max  // maxValue is equal to 255, and is of type UInt8

Значения этих свойств имеют тип номера соответствующего размера (например, UInt8 в приведенном выше примере) и поэтому могут использоваться в выражениях наряду с другими значениями одного и того же типа.

from: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html

Ответ 3

Вы можете получить к ним доступ как статические свойства, как предложено в других ответах.

В некоторых комментариях я вижу, что люди задаются вопросом, почему вы не можете обращаться к ним как переменные экземпляра.

Это похоже на вопрос: "Каково максимальное значение 5?" и ожидая разумного ответа.

Одно из основных применений для этих переменных - защита от целых переполнений.

Что-то по строкам "если я добавлю что-то к этому целому числу, которое делает его больше, чем Int.max, т.е. он вызывает переполнение" и действует соответственно.

Подробнее о том, как Apple относится к проблеме переполнения целого числа здесь.