스위프트로 MacOS 애플리케이션 만들기 #1 Swift 기초

Explanation

개인적으로 작은 변화가 생기기도 했고, 이전부터 하고 싶었던 것을 하기 위하여!
앞으로(당분간? 아마도?) 스위프트를 사용해서 MacOS의 애플리케이션을 공부하며 만들어보려 합니다!
오늘은 그 첫번째 시간으로, 스위프트 기초! 문법?을 알아보려 합니다!

swift도 xcode도 처음이라 잘못된 내용이 굉장히 많을 수 있습니다.

1. Swift

사실 대부분의 언어가 비슷하듯, 저에게 그나마 익숙한 자바스크립트와도 크게 다르지 않았지만
그래도 가볍게 한번 살펴볼까요?

‘나는 왕초보니까 그냥 정수는 Int 실수는 Double 쓸꺼다!’라고 적으려고 했는데,
(자바스크립트에서 number도 64bit 부동 소수점이니까)
생각해보니까 이게 또 자바스크립트에는 없던 메모리 야무지게 쓰는 맛이니까, 필요로하는 데이터 크기에 따라 써주면 더 좋을 거 같아요!

위에 저렇게 Int, Float, Double 3개만 적었는데 사실 더 많아요.
Int8, Int16, Int32, Int64, UInt, Uint8, … 등등..

만약에 나이를 담은 변수라면? 나이는 음수가 없으니까 UInt를 사용하고 UInt8을 사용하면,
2의 8승이 256 이니까, 0살 ~ 255살까지 표기할 수 있겠네요!

정확하게는 nil은 null과 다르다고 해요. 스펠링도 다르…
(하지만 왕초보에게 그 정도의 차이는 중요하지 않습니다.)

하지만 또 그냥 이렇게 넘기기에는 너무 성의없어 보일 수 있기 때문에,
https://seolhee2750.tistory.com/10
위 포스트가 아주 간단 명료하게 설명해주신 거 같아요!

null = 포인터가 가리키는 객체가 존재하지 않음
nil = 특정 타입에 대한 값의 부재

해당 변수에 값이 있을 수도 있고 없을 수도 있다는 것 말하고, 해당 값을 사용할때는 저 옵셔널 껍대기를 벗겨야 하는 거 같아요.

이 부분은 직접 뭔가 개발을 해보면서 익혀야 할 거 같아요. 아직 어색하네요..

조건문 반복문도 크게 다르지 않고, 괄호만 사용하지 않는 정도의 느낌이네요!

오 함수는 조금 많이 다른 느낌이에요.
아규먼트를 호출하는 쪽과 동작하는 쪽의 이름을 다르게 쓸 수 있다는 점도 꽤나 매력적인 거 같아요.

참고.
https://www.youtube.com/watch?v=3iG1LfXt9hc&t=2s