변수 : 변경 가능
- var 로 선언
상수 : 변경 불가능
- let 으로 선언
타입 정보 필요( 선언 생략 가능 )
변수
var i = 1 // 타입 선언 생략
var f : Float = 1.1 // 타입 선언
타입 에러
계산 값
var i = 1 + 1.2 // i의 값 타입선언이 생략 되어 있고, 값 입력이 정수와 실수의 합이므로 에러 발생
타입 에러
var intVal = 1
var floatVal = 1.2
var ret = intVal + floatVal ==> error 타입 불일치로 에러 발생
var var1 = 10
var1 = 3.14 ==> error : 10으로 정수 타입을 입력하고 실수를 대입하였으므로 에러 발생
상수
let constant = 123
constant = 456 ==> error : 상수는 수정할 수 없으므로 에러 발생
변수, 상수 초기화
초기화
- 변수나 상수 -- 사용전에 초기화 필수!!
- 자동 초기화 안됨
- 초기화 전에 사용하면 에러
- 선언과 초기화 분기 가능, 타입 선언 생략 불가
var i : Int
print(i) ==> error
i = 10
부울 : Bool
정수 : Int, UInt
- Int8, Int16, Int32(32비트 환경), Int64(64비트 환경)
타입크기 ; sizeOf(), max
sizeOf(Int32)
Int16.max
정수형 타입 변환
var i1 = Int(3.14)
var i2 = int(5e3)
var i3 = Int(true)
정수형 타입간 변환
크기 고정 정수형 타입을 사용하는 예
랜덤함수
func arc4random() -> UInt32
func arc4random(_uniform(_: UInt32) -> UInt32
예
var r1 : Int = arc4random_unifom
타입 범위 벗어나면 에러
문자열
문자 : Character
let char : Character =“a"
문자열
var str = “Hello, Swift Language"
타입 변환
var strFromInt = String(100) // “100"
String Interpolation
let str2 = “Hello, \(str2)"
let str4 = “ 1+2 = \(1+2)"
문자열과 문자
- 문자열을 구성하는 문자 집합 : 뷰
- String.CharaterView, UTF8View, UTF16View
var characters : String:CharacterView
길이
let str = “Hello Swift"
str.characters.count // 11
//유니코드 문자를 포함하는 문자열
let str2 = “I \u{2665} Swift” // I ❤︎ Swift
str2.characters.count // 9
유니코드 다루기
문자열 붙이기
+ 연산자
var str = “Hello"
str = str + “ Swift"
append(_:), appendContentsOf(_:) 함수
var str2 = “Hello"
//String 덧붙이기
str2.appendContentsOf(“ Swift”)
String Interpolation 6개 이상 - 에러
var str1 = “\(1)” + “\(2)” + “\(3)” + “\(4)” + “\(5)” + “\(6)” ==> error
문자열 비교 : ==
str.hasPrefix(“Hello”) // true
문자열 변환
var numstr = “123"
var numVal = Int(numstr)
문자열 조작
문자열 다루기
문자열 내 위치 : String.Index
var startIndex : Index //시작인덱스
var endIndex : Index // 마지막 글자 이후의 인덱스. endIndex 자체로는 유효한 범위가 아님
인덱스 변경
func predecessor() // 한글자 앞 인덱스로
func successor() // 한글자 이후 인덱스
func advancedBy( n : Self.Distance) // 특정 거리 만큼 이후로 이동
첨자 표기법 사용
//Character 얻기
let index = str.startIndex // 시작 인덱스 값
let index2 = index.advancedBy(3) // 시작 인덱스를 3으로 변경
str[index2] // str의 index2 위치에 있는 문자 반환
//
substring 함수는 파운데이션 프레임워크
문자열의 일부를 삭제하려면 removeAtIndex(), removeRange() 함수 사용
'코딩공부 > Swift' 카테고리의 다른 글
[Swift] String <-> Hexdecimal String (0) | 2020.07.11 |
---|---|
#5 Swift 딕셔너리 (0) | 2016.09.20 |
#4 Swift 튜플( tuple), 배열 (0) | 2016.05.30 |
#2 Swift 기초 (0) | 2016.05.25 |
#1 Swift 개요 (0) | 2016.05.24 |