let name = "John"
let name = "John"
name = "James" // Error!
var age = 29
var age = 29
age = 30
let defaultScore = 100
// 다른 변수들에게 값을 복사해서 넣는다.
var playerOneScore = defaultScore // 100
var playerTwoScore = defaultScore // 100
playerOneScore = 200
print(playerOneScore) // 200
print(playerTwoScore) // 100
카카오맵과 같이 출발지와 도착지 사이의 거리를 계산해주는 앱이 있다고 가정하자.
해당 어플의 값이 변수일지라도, 한번의 실행주기 (single execution) 동안 값이 변하지 않는다면 constant로 표현한다.
출발지 : 한번 출발지가 정해진 후에, 거리를 계산하는 동안 출발지는 바뀌지 않는다.
목적지 : 목적지는 매번 바뀔 수 있기 때문에 variable이라고 생각되지만, 거리를 계산하는 동안에는 목적지가 변경되지 않으므로 constant로 표현한다.
현재 위치 : 사용자가 움직일 때 마다 현재 위치는 변경된다.
이동한 거리 : 사용자가 움직일 때 마다 출발지 - 현재 위치 사이의 거리는 변경된다.
남은 거리 : 사용자가 움직일 때 마다 현재 위치 - 목적지 사이의 거리는 변경된다.
- 변하지 않는 값을 constant로 지정해야 하는 이유
값을 변경할 수 없으므로 해당 값의 안정성이 보장됨
컴파일러는 constant를 low-level로 저장함으로써 프로그램이 더 빠르게 실행되도록 최적화
수학 기호가 포함되선 안된다.
공백이 포함되선 안된다.
숫자로 시작할 수 없다.
코드를 이해하기 쉽도록 이름을 지정해야 한다.
firstName
> n
restaurantsNearCurrentCity
> nearby
여러 단어들이 결합되어 있다면 camel case를 따른다.
defaultScore
> defaultscore
restaurantsNearCurrentCity
> restaurantnearcurrentcity
// 수학에서 사용되는 원주율 값 세팅
let π = 3.14
/* 원주율 값은 무한소수이기 때문에,
대략적인 값으로 할당해준다.*/
let π = 3.14
Int
: 정수 ex) 4
Double
: 소숫점이 포함되어 있는 수 ex) 13.45
Bool
: true
또는 false
String
: 문자열 ex) "Once upon a time..."
struct Person {
// properties
let firstName: String
let lastName: String
// methods
func sayHello() {
print(”Hello there! My name is \(firstName) \(lastName).”)
}
}
// 2개의 인스턴스를 생성
let aPerson = Person(firstName: “Jacob”, lastName: “Edwards”)
let anotherPerson = Person(firstName: “Candace”, lastName:
“Salinas”)
aPerson.sayHello() // “Hello there! My name is Jacob Edwards."
anotherPerson.sayHello() // “Hello there! My name is Candace Salinas."
Swift는 type-safe 언어이다.
type-safe 언어 : 코드 내부 값의 타입이 명백하도록 강제하는 언어
타입이 서로 다르다면, 에러가 발생한다.
var wholeNumber = 30 // Int
var numberWithDecimals = 17.5 // Double
wholeNumber = numberWithDecimals // Error!
- 너무 큰 숫자를 저장할 경우,
_
를 사용해 보기 쉽게 표기할 수 있다.var largeUglyNum = 1000000000 var largePrettyNum = 1_000_000_000
let cityName = "서울" // String
let pi = 3.1415827 // Double
let cityName: String = "서울"
let pi: Double = 3.1415927
let firstName: String
let middleInitial: Character = "J"
var remainingDistance: Double = 30
struct Car {
var make: String
var model: String
var year: Int
}
var x // Error!
var x: Int
print(x) // Error!
// 값을 할당해주어야 사용 가능
var x: Int
x = 10
print(x)
Excerpt From
Develop in Swift Fundamentals
Apple Education
https://books.apple.com/kr/book/develop-in-swift-fundamentals/id1581182804?l=en
This material may be protected by copyright.