質問: `as Int`と`Int()`の違いを教えていただきたいです。 swiftでキャストをする際は`as Hoge`とすると、キャストされるかと思います。 そして、`Int()`もIntにキャストしてくれる関数との認識です。 appleの公式ドキュメントを見たり、ぐぐってみましたが、両者の違いがいまいちよくわかっておりません。 以下のキャプチャのコードで、`as Int`と`Int()`でキャストをしてみると、`as Int`のほうだけ、 エラーが出てしまいます。UInt32をIntにキャストできないというエラーなら、`Int()`でも 同じエラーが出ていいと思うのですが、出ないということからすると両者の挙動に 違いがあるのだろうなと考えています。 そもそも、UInt32をIntにキャストできないのも謎で、 そちらも合わせてご説明いただけると幸いです。 よろしくお願いします。 !キャスト なお、補足ですが、`arc4random()`はUInt32の戻り値を持っています。
回答: as Intは形変換処理で、Int(xxx)は**初期化処理**です。