Как узнать максимальное значение для 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 }
}
Ответы
Ответ 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 относится к проблеме переполнения целого числа здесь.