web-dev-qa-db-ja.com

SwiftでIntの最大値を見つける方法

Intの「構造体」タイプにアクセスする方法を理解したいと思います。 Intをcmdキーを押しながらクリックすると、このクラスに移動しました。これが保持できる最大値を調べたいと思います。このプロパティのいずれかからプルする方法はありますか?この構造の最大と最小は何ですか?

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 }
}
36
thndrkiss

「各整数型の最小値と最大値には、minプロパティとmaxプロパティを使用してアクセスできます。

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.“ Swiftプログラミング言語。” iBooks。 https://itun.es/in/jEUH =。

59
iPatel

Swift 3:

let value = Int.max
10
Shadros

Minおよびmaxプロパティを使用して、各整数型の最小値と最大値にアクセスできます。

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

6
Artem Z.

他の回答で提案されているように、これらは静的プロパティとしてアクセスできます。

いくつかのコメントで、なぜインスタンス変数としてアクセスできないのか疑問に思っています。

これは、「5の最大値はいくらですか?」賢明な答えを期待しています。

これらの変数の主な用途の1つは、- 整数オーバーフロー に対する保護です。

「この整数にInt.maxより大きくする、つまりオーバーフローを引き起こす何かを追加した場合」の行に沿った何かとそれに応じて動作します。

Apple整数オーバーフローの問題に対処する here

1
joakim