Swft 3 for C Programmers

17
Swift Tour 군산대학교 컴퓨터정보통신공학부 컴퓨터정보공학전공 남광우 [email protected] Swift 3 Tour and Language Guide by Apple 꼼꼼한 재은씨의 Swift 2 프로그래밍

Transcript of Swft 3 for C Programmers

Page 1: Swft 3 for C Programmers

Swift Tour

군산대학교 컴퓨터정보통신공학부 컴퓨터정보공학전공

남 광 우

[email protected]

Swift 3 Tour and Language Guide by Apple꼼꼼한재은씨의 Swift 2 프로그래밍

Page 2: Swft 3 for C Programmers

Swift 개요

• Apple의Mac OS X와 iOS용응용개발을위해개발된언어

• 2014년 6월 2일WWDC 2014에서발표

• App 개발시 Objective‐C를대체하기위한언어

• LLVM 등최신프로그래밍언어기능포함

Page 3: Swft 3 for C Programmers

Swift 특징

•데이터타입추론

• Java script, python 과같은 dynamic binding 언어아님

• C, C++과같은 static binding 언어

• 그러나, 데이터타입추론기능등을이용하여dynamic binding 처럼유연성을제공

Page 4: Swft 3 for C Programmers

• LLVM( Low‐Level Virtual Machine)

• LLVM 채택으로인한비교적빠른성능

•안정성(Safe)   : Objective‐C 대비

• Array Bounds check기능• 포인터직접접근차단기능

•현대적(Modern)• Optional, Generics, Closure, Tuple  등현대적기능제공

Swift 특징

Page 5: Swft 3 for C Programmers

Hello World in Swift

print( “ Hello World “)

• Hello World 하기

• main() 함수가필요없음

Page 6: Swft 3 for C Programmers

Swift의 문법적 특성

• Header 파일을작성할필요가없음

• *.h   *.c  와같이전처리를위한헤더파일구분불필요

•변수선언과상수선언의구분

• Swift는대소문자를구분

• let A = 30• let a = 40

var a : Int //변수선언let A = 4      // 상수선언a = 5

Page 7: Swft 3 for C Programmers

Swift의 문법적 특성

•문장끝의세미콜론(;)은옵션

• main() 함수가없음

• @UIApplicationMain어노테이션사용

•문자열뿐만아니라문자도큰따옴표

print( “hello” )print( “hello2”) ;

var str : String = “Hello”var ch : Character = “H”

Page 8: Swft 3 for C Programmers

Simple Values•변수와상수의선언

•타입의추정

var myVariable = 42  // 변수myVariable = 50

let myConstant = 42 // 상수

let implicitInteger = 70let implicitDouble = 70.0let explicitDouble: Double = 70

Page 9: Swft 3 for C Programmers

Simple Values•서로다른타입값의변환

•변수상수의이름은한글한자도가능

let label = "The width is "let width = 94let widthLabel = label + String(width)

var한글변수 = 3let ㅎㄱㅂㅅ = 5.3

Page 10: Swft 3 for C Programmers

기본 자료형

• Int• Int8, Int16, Int32, Int64

• Uint• UInt8, UInt16, UInt32, UInt64

• Double & Float• Bool• String• Character

Page 11: Swft 3 for C Programmers

기본 자료형

•자료형의선언과사용의세가지방법

// firstvar day = 7

// secondvar day : Intday = 7

//  thirdvar day : Int = 7

// 다음은 error!!!!var day day = 7

Page 12: Swft 3 for C Programmers

닫힌 범위 연산자

•범위값을나타내는연산

• 1…5  : 1, 2, 3, 4, 5

• 1..<5 : 1, 2, 3, 4

• for 문에서의사용• hello 100번 print 하기

for  i in 1…100{

print( “Hello” )}

Page 13: Swft 3 for C Programmers

문자열 template

•변수,상수값을대입하기위한 template• \ (이스케이프) 문자의사용

• hello world  1..<100 까지번호와함께찍기

let apples = 3let oranges = 5let appleSummary = "I have \(apples) apples."let fruitSummary = "I have \(apples + oranges) pieces of fruit.

Page 14: Swft 3 for C Programmers

배열의 선언

var shoppingList = ["catfish", "water", "tulips", "blue paint"]shoppingList[1] = "bottle of water"

var occupations = ["Malcolm": "Captain","Kaylee": "Mechanic",

]occupations["Jayne"] = "Public Relations"

•배열의선언

• dictionary형배열

Page 15: Swft 3 for C Programmers

배열의 선언

let emptyArray = [String]()let emptyDictionary = [String: Float]()

• empty 배열의선언

•배열사용의예• 배열의값을 print하기

Page 16: Swft 3 for C Programmers

흐름 제어 : For 구문

• for 구문의구조

• ; 생략가능

for( 초기값;  비교값; 증가값) {

{

for var i = 0; I < 10; i++ {

print( “ \(i) 번째실행“){ 

for (var i = 0; I < 10; i++){

print( “ \(i) 번째실행“);{ 

Swift 2 O;Swift 3 X

Page 17: Swft 3 for C Programmers

흐름 제어 : For 구문

• if 문과함께사용

• for ~ in 구문에서 루프상수의생략• 아래에서변수 i는필요없음• 그러므로 _ 로대체가능

for ( var i = 0 ; ; i++ ){

if ( i>= 10 )break;

}

for  i in 1…100{

print( “Hello” )}

for  _  in 1…100{

print( “Hello” )}

Swift 2 O;Swift 3 X

Swift 2 O;Swift 3 O