2014년 12월 22일 월요일

애플의 새로운 개발언어 Swift - 옵셔널 #4

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

import UIKit

//swift에서 nil값을 가질 있는 참조 형식과 형식을 옵셔널 형식이라고 한다.
//swift에서 Int? Int 서로 다른 형식이다. 일반 형식과 옵셔널 형식을 
//엄격하게 구분한다.
var optionalNum:Int? = nil
var str:String? = "hello"
str = nil
str = "new value"
str = nil

//Forced Unwrapping
//swift 참조형식과 값형식은 항상 유효한 값을 가지기 때문에 값의 존재여부를 별도로 
//확인하지 않고 사용한다.
//그러나 옵셔널 형식은 반드시 if문을 통해 값의 존재여부를 확인한 사용해야 한다
//여기서 사용된 ! 강제추출 연산자라고 부른다.
var userName:String? = "전우치"
if userName != nil {
    println("USER: \(userName!)")
}

//옵셔널 형식의 유효성을 확인하고 값을 추출하는 작업이 반복되는 경우에는 불필요한 코드의
//양이 늘어나고 지루한 작업이 있다
//옵셔널 형식이 항상 유호한 값을 가지는 경우에는 자료형 뒤에 물음표(?) 대신 느낌표(!)
// 붙여서 암시적으로 추출되는 옵셔널 형식(Implicitly Unwrapped Options)으로 
//선언할 있다
//암시적으로 추출한다고 선언됟어 있어서 추출할 ! 붙이지 않아도 된다.
var userName2:String! = "박문수"
println("USER: \(userName)")

func getUserName() -> String {
    return "홍길동"
}








댓글 없음:

댓글 쓰기

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

미국에서 만들고 있는 데이터 센터들 - AI시장이 얼마나 커질까?

 말도 안되는 규모로 테슬라, 메타, OpenAI의 스타게이트 연합군에서 짓고 있는 데이터 센터들입니다.  1기가와트, 2기가와트, 5기가와트 ㅎㅎ  앞으로 세상이 정말 더 많이 변할 것 같습니다. 저는 하드웨어를 직접 다루지 않기 때문에 IDC센터를...