Language/Swift

Swift 기초 개념 및 데이터 타입

Greensky0026 2021. 3. 8. 23:22
반응형

상수와 변수

상수 선언 let 이름: 타입 = 값

  • 상수는 이름그대로 선언한 값 고정

변수 선언 var 이름: 타입 = 값

  • 변수는 이름그대로 값 변경 가능

! 값이 명확하다면 타입은 생략할 수 있다. 그러나 나중에 할당하려고 하는 상수나 변수는 타입을 명시하여야 한다.

 

var name:String
let age:Int

name = "녹색하늘"
age = 20
print("나의 이름은 \(name)입니다") //나의 이름은 녹색하늘입니다

name = "하늘"
print("나의 이름은 \(name)입니다") //나의 이름은 하늘입니다

기본 데이터 타입

  • Int : 64비트 정수형

  • UInt : 64비트 양의 정수형

  • Float : 실수타입 32비트 부동소수형 : 소수점이하 6자리

  • Double : 실수타입 64비트 부동소수형 : 소수점이하 15자리

  • Character : 문자타입

  • String : 문자열 타입

//여러줄 문자열사용 가능. 
//겹따옴표 세개인 줄 (처음과 끝)에서 줄바꿈을 해야 오류가 나지 않음
var manyString = """
이것은
아주긴
문자열
입니다
"""

print(manyString)
/*
이것은
아주긴
문자열
입니다
*/

 

  • Any : swift의 모든 타입을 지칭
    단, any는 float 및 double타입이 아니므로 명시적 형변환 후에 할당가능.
var val: Any = 100
val = "kim"
val = 12.125442

var fl: Float = val // error
var dou : Double = val // error

 

  • AnyObject : 모든 클래스 타입을 지칭하는 프로토콜
    단, 클래스의 인스턴스만 할당 가능
class aClass{}
var obj: AnyObject = aClass

obj = 124 //error

 

  • nil : null과 같은 의미. 부재를 나타낸다.

컬렉션 타입

 

  • Array : 순서가 있는 리스트 컬렉션
//Array 생성
var integers: Array = Array() //에러
var integers2: Array = [] //에러
//타입은 반드시 명시해 주어야 합니다.
var integers3: [Int] = Array()
var integers4: [Int] = [Int]
var integers5: [Int] = []
var integers6: [Int] = [Int]

//Any를 이용해 여러 자료형을 넣을 수 있습니다.
var anyArr: [Any] = [1,2,"가","나"]

//크기가 정해진 배열을 만들수도 있습니다.
var repeatArr= [Int](repeating: 0, count: 3) //[0,0,0]

//멤버 추가
var a : [1,2] //[1,2]
a.append(3) //[1,2,3]
a. += [4,5] //[1,2,3,4,5]

//멤버 접근
a[0] //1
a[0] = 0 // a = [0,2,3,4,5]

//멤버 포함여부 확인 ture/false로 반환
a.contains(100) // false
a.contains(2) //true

//멤버 수 확인
a.integers.count // 5

//멤버 삭제
a.remove(at: 0) // a = [2,3,4,5]
a.removeLast() // a = [2,3,4]
a.removeAll() // a = []

 

  • Dictionary : 키-값의 쌍으로 이루어진 컬렉션
//Dictionary 생성
var dic: Dictionary  = Dictionary() //error, 타입은 반드시 명시
var dic: Dictionary  = [:] //error, 타입은 반드시 명시

var dic : Dictionary = [String: Int]()
var dic: [String: Int] = Dictionary()
var dic: [String: Int] = [String: Int]()
var dic: [String: Int] = [:]
var dic = [String: Int]()

//값 할당 (변경도 동일)
dic["apple"] = 4000
dic["banana"] = 2500
print(dic) // ["apple": 4000, "banana" = 2500]

//제거
dic.removeValue(forKey: "apple")
dic["banana"] = nil
print(dic) // [:] 

 

  • Set : 순서없이 멤버가 유일한 컬렉션
//Set 생성 (반드시 타입을 명시해 주어야 합니다)
var set1 :Set = Set<String>()
var set1 = Set<String>()
var set1 : Set<String> = []

//생성과 동시에 초기화
var set1 : Set<String> = [5,4,3]
var set1 : Set = [5,4,3]

//값 추가
set.insert(2)
print(set1) //출력시 순서와 상관없이 출력됨
set.insert(2) // Set은 중복을 허용하지 않으므로, 변화 x

//제거
set1.remove(2)
set1.reamoveAll()

//집합연산
let set1 : Set = [1,2,3,4]
let set2 : Set = [3,4,5,6]

var uSet : Set = set1.union(set2) //합집합
print(uSet) // [3, 4, 6, 5, 1, 2]

var iSet : Set = set1.intersection(set2) // 교집합
print(iSet) // [4, 3]

var symSet : Set = set1.symmetricDifference(set2) //합집합-교집합
print(symSet) // [6, 5, 1, 2]

var subSet : Set = set1.subtracting(set2) // 여집합
print(subSet) //[1, 2]

 

 

 

 

 

 

도움이 엄청나게 된 사이트들

yagom.net/

 

야곰닷넷 - yagom.net

iOS 개발자들의 놀이터, 배움터, 모임터, 기록보관소 야곰닷넷입니다.

yagom.net

https://zeddios.tistory.com/114

 

Swift3 ) Array사용해보기(1/2)

안녕하세요! 오늘은 Array(이하 배열)를 사용해봅시다. ㅎㅎ배열은 유명한 언어(C, C++, Java등..)에는 다 있으니 너무너무 익숙하시겠지만, 새로운 언어를 배울 때는 위 언어들을 다 잊어주세요 :) Swi

zeddios.tistory.com

반응형