我想了解如何访问Int的“struct”类型。当我cmd点击Int我带到了这个课程时,我想知道它可以容纳的最大值是多少。有没有办法从这个属性之一拉?这个结构中的最大值和最小值是多少?
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 }
}
答案 0 :(得分:58)
“您可以使用其最小和最大属性访问每个整数类型的最小值和最大值:
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.“The Swift Programming Language。”iBooks。 https://itun.es/in/jEUH0
答案 1 :(得分:10)
在Swift 3中试试这个:
let value = Int.max
答案 2 :(得分:6)
您可以使用其最小和最大属性访问每个整数类型的最小值和最大值:
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),因此可以在表达式中与其他相同类型的值一起使用。
答案 3 :(得分:1)
您可以按照其他答案中的建议将其作为静态属性进行访问。
我在一些评论中看到人们想知道为什么你不能将它们作为实例变量来访问。
这就像询问" 5的最大值是多少?"并期待一个明智的答案。
这些变量的主要用途之一是防范integer overflows。
&#34的某些内容;如果我向这个整数添加一些东西,使其大于Int.max,即它会触发溢出"并采取相应的行动。
更多关于Apple如何解决整数溢出问题here。