2016년 9월 6일 화요일

Xcode 8.0 beta6, iOS 10.0 beta8 에서 Swift 3.0 기본 문법 설명 예제입니다.

Xcode 8.0 beta6, iOS 10.0 beta8 에서 Swift 3.0 기본 문법 설명 예제입니다.
세세하게 변경된 부분이 많아서 테스트가 필요합니다.
아래 코드에 주석을 달아 놓았습니다.

//: Playground - noun: a place where people can play

import UIKit

//매개변수와 반환값이 모두 없는 함수
func printHello() {
    print("안녕하세요")
}

printHello()

func sayHello() -> String {
    let returnValue = "안녕하세요"
    return returnValue
}

let returnVal = sayHello()
print(returnVal)

func sayHelloWithName(name : String) -> String {
    let returnValue = "\(name) 안녕하세요"
    return returnValue
}

//Swift 3.0부터 첫번째 인자에 대한 매개변수명도 붙어야 한다.
let returnVal2 = sayHelloWithName(name: "전우치")
print(returnVal2)


//매개변수에 대한 기술
func printHelloWithName(name : String, welcomeMessage : String) {
    print("\(name), \(welcomeMessage)")
}

//호출할
printHelloWithName(name: "전우치", welcomeMessage: "안녕")


//(실인자를 넘기기)
//Swift 3.0부터 inut키워드의 위치가 아래와 같이 변경되었다
func mySwap(a:inout Int, b:inout Int) {
    let t=a; a=b; b=t;
}

var x = 100
var y = 200
mySwap(a: &x, b: &y)
print("x=\(x), y=\(y)")


//_ 사용해서 무시하기(파라메터명을 기술하지 않고 넘어간다!)
func compare(a:Int, b:Int, _:Bool) -> Bool {
    return a > b
}

var result = compare(a:20, b:10, true)
print(result)


//메서드의 오버로드에 대한 데모
func mySwap(a:inout Int, b:inout Int, c:inout Int) {
    let t=a; a=b; b=c; c=t
}

func mySwap(a:inout String, b:inout String) {
    let t=a;a=b;b=t
}

var x1=1, y1=2, z1=3
mySwap(a: &x1, b: &y1, c: &z1)
print("x1=\(x1), y1=\(y1), z1=\(z1)" //x1=2, y1=3, z1=1
var str1="aa"
var str2="bb"
mySwap(a: &str1, b: &str2)
print("str1=\(str1), str2=\(str2)")


//함수의 인수 갯수나 , 반환 값의 형이 다른 동일명의 별도 함수를 정의할 있다.
//스위프트에선 외부 인수명이 다른 동일명의 함수도 정의할 있다.
func mySwap2(a:inout Int, b:inout Int) {
    let t=a; a=b; b=t
}

func mySwap2(little a:inout Int, great b:inout Int) {
    if a > b {
        let t=a; a=b; b=t
    }
}

var s=20
var t=10
mySwap2(little: &s, great: &t)

print("s=\(s), t=\(t)")

댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

요즘 새로운 과정을 기획하면서 react.js + next.js를 OpenAI API와 같이 사용하는 과정을 만들고 있습니다. ㅎㅎ

 오랜만에 웹 기술들을 공부하니 재미있네요. ㅎㅎ  쭉 파이썬 과정들을 운영하고 있었는데 좀 더 범위를 넓혀서 아이폰 앱 개발과정 with ChatGPT,  웹 프로그래밍 with ChatGPT, AI시대의 AI어시스턴트 활용하기와 같은 글을 쓰고, ...