導入 - Swift

最終更新日: 2026-07-26

TOP(About this memo)) > 一覧(Swift) > 導入

Swiftの特徴(勉強中)

わからないこと(?)

ルートレベルで計算プロパティが書けるのはなぜか

protocol Animal {
    func sound()
}
struct Dog: Animal {
    func sound() {
        print("bow wow")
    }
}
var pet1 = Dog()
// var pet1: Animal = Dog() // これも上記と同義
// var pet1: Animal { Dog() } // なぜかこれも動作した(オンラインの実行環境)。これは変数ではなく計算プロパティという理解で、クラスや構造体の中でしか書けないと思っていたのだが…
pet1.sound() // bow wow

Viewへの準拠時のルールでわからないこと

struct ContentView: View {
    /* var body: some View {
        Text("Hello, World!")
    } */
    var body: Text = Text("Hello, World!") // Text構造体はViewに準拠していないように(コードを読むと)見えるが、これでコンパイルが通る理由がわからない。
}

(IMO) SwiftUI と Flutter の比較

チュートリアル

Swift Playground

公式ドキュメント

swift.codelly

Xcode