[Swift]構文(Ver.簡易整理)


Variable


:値を格納するスペース
let 상수명: 데이터 타입 =//변경 불가능
var 변수명: 데이터 타입 =//변경 가능

Data Type


Int:64ビット整数
UIT:符号なし64ビット整数
Float:32 bit浮動小数点
Double:64ビット浮動小数点
Bool:true,false値
Character:文字
String:文字列
Any:すべてのタイプを表すキーワード
->データ型を明確にすることなく、値に基づいて型を推定
var number = 10 // INT

Collection Type


Array

var numbers: Array<Int> = Array<Int>()
var numbers = [Int]()
var numbers: [Int] = []
numbers.append(1)
numbers.insert(3, at: 1)
numbers.remove(at: 0)

Dictionary

var dic: Dictionary<String, Int> = Dictionary<String, Int>()
var dic: [String: Int] = [:]

Set


:重複データは許可されていません.
var set: Set = Set<Int>() // 축악형이 없다!
set.insert(10)
set.insert(20)
set.insert(20)
set // {10,20}

set.remove(20) // 순서가 없기때문에 저장된 값으로 삭제.
set // {10}

Function


:関数は操作の最小単位であり、コードの集合でもあります.
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 { 
	return 반환 값
}

//전달인자 레이블
func 함수명(전달인자 레이블: 매개변수 이름: 메게변수 타입) -> 반환 타입 { 
	return 반환 값
}

//와일드카드
func 함수명(_ 매개변수 이름: 메게변수 타입) -> 반환 타입 { 
	return 반환 값
}

//가변 매개변수 - 배열로 넘겨 받을 수 있다. 단, 함수 당 하나만 가능
func 함수명(매개변수 이름: 메게변수 타입...) -> 반환 타입 { 
	return 반환 값
}
SWIFTは、関数式プログラミングモードを含むマルチプログラミングモードである.
swiftの関数は1級オブジェクトです.

Condition


:指定された条件に基づいて、アプリケーションを実行します.
-> if, switch, guard
if (){

}else if(){

}else {

}
switch 비교대상 {
	case 패턴1:
	case 패턴2, 패턴3:
    default:
    
}
モードは比較演算子を使用できます
let num = 7
switch num {
	case 1...9:
	default:
 }

Loop


:コードを繰り返し実行する構文です.
-> for-in, while, repeat-while
for 루프상수 in 순회대상 {
	//실행할 구문
}

while 조건식 {
	//실행할 구문
}

repeat{
	//실행할 구문
}while 조건식

Optional


:有価有価です.
var name: String? //초기값이 설정되어 있지 않다면 nil로 저장되어있다

var optionalName: String? = "name" //초기닶 설정 가능
var requiredName: String = optionalName //ERROR!!! -> 옵셔널 바인딩이 필요하다

Optional Binding

  • 明示的に無効
    ->安全でない方法.nil値を無効にするとERROR!
  • // 강제 해제
    var number1: Int? = 3
    print(number1!)
    
    // 비강제 해제(옵셔널 바인딩)
    var number: Int? = 3
    guard let result = number else {return}
    print(number2)
  • 黙示的解除
  • // 컴파일러에 의한 자동 해제
    // 비교연산자로 다른 값과 비교하면 자동 해제
    let val: Int? = 6
    if val == 6 {
    	print("")
    }
    // 옵셔널의 묵시적 해제
    let string = "12"
    var stringToInt: Int! = Int(string) //string 변환되지 못해 nil일 수 있기떄문에 옵셔널에 저장
    peinr(stringToInt + 1) // 13

    Struct


    大文字で始まる

    Class


    初期化構文
    init(){}
    deinit{}

    ClassとStruck


    共通点
    差異

    Property


    :

    継承


    Closure


    Closure is the method that has no name.
  • Global function
  • Nested functon
  • Closure expressions
  • Caturing Value


    Completion Block


    Higher Order Function


    Reference : https://docs.swift.org/swift-book/LanguageGuide/Closures.html