๐ง๐ป์ด๋ฒ Swift ์๊ฐ์ ๋ฐฐ์๋ณผ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ๐จ๐ป๐ป
- Type annotations (ํ์ ์ฃผ์)
๋ค์ด๊ฐ๊ธฐ ์ ์
Type annotations(ํ์ ์ฃผ์) ์ด๋ ๋ฌด์์ผ๊น?
ํ์ ์ฃผ์ ํ๋ฉด ๊ฐ์ด ๋ฐ๋ผ์ค๋ ๋งค๋ฒ ๋น๊ต๊ฐ ๋๋ ์น๊ตฌ๊ฐ ์๋๋ฐ Type inference, ํ์ ์ถ๋ก ์ด๋ค. ํ์ ์ถ๋ก ์ ์ดํดํ๋ฉด ํ์ ์ฃผ์์ ํจ์ฌ ์ดํดํ๊ธฐ ์ฝ๋ค.
1. Type inference(ํ์ ์ถ๋ก )
๋ฐ๋ก ์์๋ฅผ ๋ณด์.
let surname = "Lasso"
var score = 0
์ง๊ธ ๊น์ง ์ฐ๋ฆฌ๋ ์์์ ๊ฐ์ด ๋ณ์์ ์์๋ฅผ ์ ์ธํ๋ค.
surname ์ ํ ์คํธ๋ฅผ ํ ๋นํ์๊ธฐ ๋๋ฌธ์ surname์ด ๋ฌธ์์ด์ด๋ผ๊ณ ์ถ๋ก ํ๊ณ , ๋ง์ฐฌ๊ฐ์ง๋ก score์ ์ ์๋ฅผ ํ ๋นํ์๊ธฐ ๋๋ฌธ์ ์ ์๋ผ๊ณ ์ถ๋ก ํ๋ค.
ํ๋ง๋๋ก Type inference๋ ์ ์ธ๊ณผ ๋์์ ์ด๊ธฐํ๋ฅผ ํด์ฃผ๋ ๊ฒ์ด๋ค.
- ์ฅ์
ํ์ ์ถ๋ก ์ ๊ฒฝ์ฐ ์ง์ ํ์ ์ ๋ช ์ ํด์ฃผ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ์ฐ๊ธฐ์ ๋งค์ฐ ๊ฐ๋จํ๋ค. ๋๋ต ๋ณด๊ธฐ์๋ ๊ฐ๋จํด ๋ณด์ธ๋ค.
ํ์ง๋ง ํธํ๊ธฐ๋งํ ๊น??
- ๋จ์
1. ์ฌ์ฉ์๊ฐ ์ํ๋ ํ์ ์ผ๋ก ์ถ๋ก ๋์ง ์๋๋ค.
์๋ฅผ ๋ค์ด ์์ ์์ score์ ์ฐ๋ฆฌ๋ 0์ ํ ๋นํด์ฃผ์๋ค. ์ด๋ฒ์๋ ๊ทธ๋ผ 17.0์ floatํ์ผ๋ก ๋ฃ์ด๋ณด์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ํ์ ์ ํ์ธํด๋ณด๋ฉด?
๋ฌธ์์ด๋ ๋ง์ฐฌ๊ฐ์ง๋ก String์ด ์๋ charater๋ก ๋ฃ๊ณ ์ถ์๋ฐ String์ผ๋ก ์กํ๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ ๋งคํ ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ๊ฐ ์ด๊ธฐ๊ฐ์ ๋ณด๊ณ ์๋ฃํ์ ๋น๊ตํ์ฌ ๋ ํฐ ๋ฒ์์ ์๋ ์๋ฃํ์ ์ง์ ํด๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
๊ทธ๋์ ํ์ํ ๊ฒ์ด ์ด๋ฒ ์๊ฐ์ ๋ฐฐ์ฐ๋ Type annotations(ํ์ ์ฃผ์)์ด๋ค.
2. Type annotations(ํ์ ์ฃผ์)
์ด์ ๋ณธ๋ก ์ผ๋ก ๋ค์ด๊ฐ์ ๊ทธ๋์ ํ์ ์ฃผ์์ ์ด๋ป๊ฒ ์๊ฒผ๋๋ฐ?? ๋ฐ๋ก ๋ณด์!
let playerName: String = "Roy"
์์ ์์์ฒ๋ผ ํ์ ์ฃผ์์ ๋ง ๊ทธ๋๋ก ๋ณ์์ ๋ํ ํ์ ์ ๋ฐ๋ก ์ง์ ํด๋ฒ๋ฆฌ๋ ๊ฒ์ด๋ค.
๊ท์น์ ๋ณ์ : ์๋ฃํ๊ณผ ๊ฐ์ด ํํํ๋ค. ์์์์๋ ์ด๊ธฐ๊ฐ์ ์ ์ํ์์ง๋ง ์ ํด๋ ์๊ด์๋ค.
- ์ฅ์
1. ํ์ ์ถ๋ก ๊ณผ๋ ๋ฐ๋๋ก ์ด๊ธฐ๊ฐ์ด ์์ด๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
2. ์ํ๋ ์๋ฃํ์ ์ง์ ์ง์ ํ ์ ์๋ค.
๋จ์ ์ ํฌ๊ฒ ์์ด์ ์๋ตํ์~
๊ทธ๋ผ ์ด๋ฒ์๋ ํ์ ์ถ๋ก ์์๋ ์ํ์ง ์๋ ๊ฒฐ๊ณผ๊ฐ ๋์์๋ ๊ฒ์ ํ์ ์ฃผ์์ ์ด์ฉํด์ ๋น๊ต ๋ถ์ํด๋ณด์!
์ด๋ค๊ฐ ์์ score์ ๊ฒฝ์ฐ ํ์ ์ถ๋ก ์ ๋ํ ๊ฒฐ๊ณผ์ด๊ณ , score 2์ ๊ฒฝ์ฐ ํ์ ์ฃผ์์ ๋ํ ์์์ด๋ค. ๋ด๊ฐ ์ํ๋ ๊ฒ์ 17.0์ Floatํ์ผ๋ก ์ง์ ํ๋ ๊ฒ์ผ๋ก ์ง๊ธ์ ๋ด๊ฐ ์ํ๋ ๋๋ก ์ ์ง์ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ ๋ฆฌํ์๋ฉด ์์ ์ด ๊ทธ๋ฅ ๋ ํธํ๊ฒ ์ฐ๋ ๊ฒ ์ข๊ณ ๊ตณ์ด ํ์ ๊น์ง ์ง์ ํด์ค ํ์ ์์ด~ ํ๋ค๋ฉด ํ์ ์ถ๋ก !
์๋ ๋ ์ปดํ์ผ๋ฌ๊ฐ ์ง์ ํด์ค ๊ฒ ์๋ ๋ด๊ฐ ์ง์ ์ง์ ํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ์ถ์ด~ ํ๋ค๋ฉด ํ์ ์ฃผ์!
๋ ๋ค ์ด๋ค ๊ฒ ๋ง๊ณ ํ๋ฆฐ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์ ๋ณธ์ธ์ ์์ค์ ๋ง๊ฒ ์ฌ์ฉํ๋ ๋ฅ๋ ฅ์ด ์ค์ํ ๊ฒ ๊ฐ๋ค์~!!
learning by repetition
https://www.hackingwithswift.com/100/swiftui/4
Day 4 – 100 Days of SwiftUI
Follow the 100 Days of SwiftUI and learn to build apps for free.
www.hackingwithswift.com
'iOS > Swift ๋ฌธ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ๋ณต๋ฌธ (0) | 2022.07.15 |
---|---|
์กฐ๊ฑด๋ฌธ & ์ผํญ ์ฐ์ฐ์ (0) | 2022.07.14 |
๋ฐฐ์ด(2) (0) | 2022.07.11 |
๋ฐฐ์ด (0) | 2022.07.06 |
Bool & ๋ฌธ์์ด ๋ณด๊ฐ๋ฒ (0) | 2022.07.05 |