변수나 함수 등의 이름을 정할 때 쓰는 규칙을 네이밍 컨벤션이라고 한다. 언어마다, 프레임워크마다, 일하는 팀마다 정해놓은 규칙이 있는데, 이번엔 Swift에서 사용하고 있는 규칙을 알아보려고 한다!
네이밍 컨벤션은 여러 종류가 있는데, 대표적으로 아래 네가지가 있다.
lowerCamelCase
단봉 낙타 표기법이라고도 부른다. 이름의 첫 문자는 소문자로 작성하되, 각 단어의 첫 문자는 대문자로 작성한다. (ex)lowerCamelCase
, backgroundColor
UpperCamelCase
쌍봉 낙타 표기법 또는 파스칼 케이스라고도 한다. 이름의 첫 문자와 각 단어의 첫 문자를 대문자로 표기한다. (ex) UpperCamelCase
, ViewController
Hungarian Notation
이름 앞에 변수의 타입을 접두어로 넣어 표기한다. 진짜 헝가리안이 만들어서 헝가리안 표기법이라고 부른다고 한다! (ex)strName
, szBuffer
snake_case
단어 사이를 _(언더바)로 구분해주는 방법이다. (ex)snake_case
, my_name
Swift는 lower / UpperCamelCase를 사용한다! 출처 - 위키피디아
var timeString
let number
func helloWorld()
class MainViewController
struct PersonData
enum WeekDay
Swift에서는 콘솔 로그를 출력할 때 2가지 방법을 사용한다. print
와 dump
!
간단한 문자열, 아이템 등을 출력할 때 사용한다.
separator은 item사이에 출력되는 str인데, 디폴트로는 하나의 공백(" ")이다.
terminator은 모든 아이템이 출력된 후에 프린트 되는 str인데, 디폴트는 newline("\n")이다!
print("One two three four five")
// Prints "One two three four five"
print(1...5)
// Prints "1...5"
print(1.0, 2.0, 3.0, 4.0, 5.0)
// Prints "1.0 2.0 3.0 4.0 5.0"
print(1.0, 2.0, 3.0, 4.0, 5.0, separator: " ... ")
// Prints "1.0 ... 2.0 ... 3.0 ... 4.0 ... 5.0"
// separator로 " ... "을 주었기 때문에, items 사이에 ... 이 출력된 것을 확인할 수 있다.
for n in 1...5 {
print(n, terminator: "")
}
// Prints "12345"
// terminator의 디폴트는 개행인데, ""로 변경해서 12345로 출력된 것을 확인할 수 있다.
여러 개의 아이템들은 쉼표(,)로 구분하면 여러 개를 출력할 수 있다.
쉼표로 구분한 경우에 자동으로 한 칸이 띄워진다(seperator default가 " "이기 때문!)
print가 끝나면 자동으로 줄바꿈이 된다(terminator가 "\n"이기 때문!)
더 자세한 내용은 공식 도큐먼트를 참조하자. - print
print만 써도 잘 되는 것 같은데, dump는 언제 필요할까?
바로 인스턴스 정보를 출력하기 위해 사용한다!
다음과 같은 클래스와 인스턴스를 만들어보자!
class Person {
var age : Int = 0
}
var john = Person()
john.age = 10
이 때 John이라는 인스턴스의 정보를 출력하고 싶을 때, print를 하면 이런 결과가 나온다.
Person 클래스의 인스턴스라는 정보 밖에 나오지 않는다는 것을 확인할 수 있다.
이럴 때 dump를 사용하면 클래스 인스턴스의 정보를 상세하게 볼 수 있다.
인스턴스 뿐만 아니라, 딕셔너리를 좀 더 상세하고 예쁘게 찍어보고 싶을 때 사용하기도 한다.
더 자세한 내용은 공식 도큐먼트를 참조하자. - dump
dump | |
---|---|
간단한 문자열과 아이템 출력 | 인스턴스나 딕셔너리 정보를 예쁘게 출력 |
Function | Generic Function |
문자열 보간법은 변수와 상수 등을 문자열 내에 나타내는 방법이다.
\(name)
꼴로 나타내면 된다!
let greeting: String = "Nice to meet you!"
print("He said, \"\(greeting)\"")
물론, 문자열 내에 입력하는 게 아니라면 변수/상수 이름만 print에 넣어서 실행하면 된다.
let greeting: String = "Nice to meet you!"
print(greeting)
// Prints "Nice to meet you!"
히히 재밌당