迅速な基礎


SwiftはIOS、MacOS、Watchos、およびTVOSアプリ開発のための新しいプログラミング言語です.

定数と変数


これらの定数と変数は、名前を特定の型の値と関連付ける.
定数と変数の宣言
  • 私たちがそれらを使う前に、彼らは宣言されなければなりません.
  • 定数の“let”キーワードを宣言します.
  • 変数使用"var "キーワードを宣言します.
  • let maximumNumberOfLoginAttempts = 10 
    var currentLoginAttempt = 0 
    
  • 私たちはコンマで区切られた単一の行に複数の定数または変数を宣言することができます
  • var x = 1,y = 2,z = 3
    

    型注釈


    定数または変数の型を明確にするために定数または変数を宣言するときに、型の注釈を提供できます.
    var welcomeMessage:String = "Hello" 
    //this can be read as welcomeMessage is ...of...type...String
    
    これは任意の文字列値を格納できることを意味します.
  • 私たちは、コンマによって区切られた単一の行に、同じ型の複数の関連変数を定義することができます.
  • var red,blue,green:Double
    
    注:私たちが実際にタイプ注釈を書くことはまれです.

    命名定数と変数

  • はユニコードを含むどんな文字も含むことができます.
    定数と変数を含めることはできません.
  • ホワイトスペース文字
  • 数学記号(<>>=...>)
  • の矢
  • 私用のUnicodeプライベート値
  • 線とボックス描画文字
  • と数字
  • で始まることができません
    私たちは、backticksを使用している名前として予約されたスウィフトキーワードを使うことができます

    印刷定数と変数


    print(_:seperator:terminator:)
    
    この印刷は1つ以上の値を適切な出力に印刷するグローバル関数です.
    セパレータとターミネータの両方がデフォルト値を持っているので省略できます
  • seperatorのデフォルト値->("")
  • terminatorデフォルト値->("\n ")
  • 文字列補間


    var name = "Ajith"
    print("my name is \(name)")
    
  • これは定数、変数、リテラルと式の混合から新しい文字列値を構築する方法です.
    文字列リテラルに挿入される各項目は、バックスラッシュ()
  • 私たちは拡張文字列区切り文字を使用して文字列を含む文字列を作成します.
  • print(#"my name is \(name)"#)
    

    コメント


    コード内の非実行可能なテキスト
    //single line comment
    
    /*multiple line
    comment*/
    

    セミコロン


    Swiftはセミコロンを書く必要はない
    単一行で複数の文を書く場合、セミコロンが必要です

    整数


    整数は42、23のような分数の値を持たない整数です.符号化されているか符号化されていない
    Swiftは8 , 16 , 32 , 64ビット形式で符号付きまたは符号なし整数を提供する

    浮動小数点数:

  • 倍(64ビットFP)15小数点
  • フロート(32ビットFP)6小数点
  • タイプSaftyと型推論

  • あなたのコードの一部がストリングを必要とするならば、あなたは誤り
  • によってそれをintで渡すことができません
  • 私たちがタイプに言及しないならば、Swiftは自動的に初期値からタイプをとります.
  • let pi = 3.14 //double
    let x = 4 // Int
    

    エイリアス


    type alias既存の型の代替名を定義します.type aliasをtypealiasキーワードで定義します.
    typealias audioSample = UInt16
    
    var maxAudioSample = audioSample.max
    

    タプル


    Tuplesグループの複数の値を1つの化合物の値に.タプル内の値は、任意の型であり、互いに同じである必要はありません.
    let person = ("Ajith","madhan")
    print(person.0 , person.1) //Ajith madhan
    
    //named tuples
    
    let p =(firstname:"Ajith" , lastname:"madhan")
    print(p.firstname , p.lastname) //Ajith madhan
    
    let (firstname,lastname) = person
    print(firstname) // Ajith
    

    オプション


    値が存在しない場所でオプションを使用します.オプションは2つの可能性を表します、値があるか、値にアクセスするためにオプションを包むことができるか、全く価値がありません.
    let x = "123z"
    let y:Int? = Int(x)
    print(y) //nil
    
    変数に値を設定することは、特別な値nilを代入することによって、値のない状態に設定できます.
    var sourceCode:Int? = 404
    sourceCode = nil
    
    注意:オプションの定数や変数でNILを使用することはできません
    デフォルト値を指定せずに一定の値を指定すると、変数は自動的にNILに設定されます.
    強制包装
    optionalsが値を含んでいるということを知ったら、感嘆符(!)を追加することで基本的な値にアクセスできますオプション名の末尾に.これ!」「私は、オプション値が確実に値を持つということを知っています」
    これはオプション値の強制アンラッピングとしても知られています.
    If converteredNumber != nil {
       print("converter number is \(convertedNumber!)")
    }
    
    class Xmas {
          func suprise() -> Int {
    return Int.random(in:1...10)
       }
    }
    let present:Xmas? = Xmas()
    if present != nil {
        print(present!.suprise())
    }