Swift์ ๋ํ์ฌ
swift๋ ios, macOS, watchOS, tvOS์ ์ฑ ๊ฐ๋ฐ์ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
C์ Objective-C ๊ฐ๋ฐ๊ณผ ๋น์ทํ๊ฒ ๋๋ ์ ์๋ค.
swift๋ C์ ๊ต์ฅํ ๋น์ทํ๋ค. ์๋! C์ ๊ธฐ๋ณธ์ ์ธ type๋ค์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ด๋ค.
integers -> int
floating-point -> Double, Float
Boolean -> Bool
textual data -> String
Collection Types -> Array, Set, Dictionary
swift๋ C์ฒ๋ผ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ ์ฅํ๋ค. ์ฌ๊ธฐ์๋ Constants๊ฐ ์๋๋ฐ, swift์์์ constants๋ c๋ณด๋ค ๋ ๊ฐํ๋ค.
constants๋ ๋ณธ๋ ๊ฐ์ด ๋ณํ์ง ์๋ ๋ณ์๋ก ์ดํดํ๋ฉด ๋๋๋ฐ, ์ด constant ๋ณ์๋ swift์์ ์ฝ๋๋ฅผ ๋ ์์ ํ๊ณ ๋ช ํํ๊ฒ ํด์ค๋ค.
Tuple์ value๋ค์ ๊ทธ๋ฃนํ ํ์ฌ ์ ๋ฌ, ์์ํ ์ ์์ผ๋ฉฐ ์ฌ๋ฌ value๋ค์ ํจ์๋ก๋ถํฐ return ํด์ผํ ๋ ์ฌ์ฉํ ์ ์๋ค.
๋ค์์ swift์ ๊ฐ์ฅ ๊ฐ๋ ฅํ powerfulํ ํน์ง์ด๋ค. ๋ฐ๋ก Optional์ด๋ค. ์ด๋ ๊ฐ์ด ์์ผ๋ฉด ๊ฐ์, ์๋ค๋ฉด nil์ ์ฌ์ฉํ๋ค. ์ด ํ์ ์ ํด๋์ค ๋ฟ ์๋๋ผ ๋ชจ๋ ์ ํ์ ๋ํด ์ฌ์ฉํ ์ ์๋ค.
swift๋ type-safe ์ธ์ด์ด๋ค. ์ฆ, ์ฐ๋ฆฌ๊ฐ ์ง ์ฝ๋์์ ์๋ชป๋ ํ์ ์ ์ฌ์ฉํ๋ฉด ์ด์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ฃผ์ด ์ธ์งํ๊ฒ ํด์ค๋ค.
๊ทธ ์๋ก, ์ผ๋ฐ String ๋ณ์์ optional string ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ ์ค๋ฅ๋ฅผ ๋ฐ์์ํจ๋ค.
Constants and Variables
Constant์ variable์ ์ด๋ฆ์ ์ง์ ๋๋ ํด๋น ๊ฐ๊ณผ ๋น์ทํ๊ฒ ์ ํ๋ ๊ฒ์ง ์ข๋ค.
Constant(์์)๋ ์ผ๋จ ์ค์ ๋๋ฉด ๋ณ๊ฒฝํ ์ ์์ง๋ง, Variable(๋ณ์)๋ ๋์ค์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ค์ ํ ์ ์๋ค.
Constants์ Variable์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ฌ์ฉ ์ ์ ์ ์ธ ํด์ผ ํ๋ค. ์์์ ๋ณ์๋ ๊ฐ๊ฐ ์ ์ธ์ ์ฌ์ฉํ๋ ํค์๋๊ฐ ๋ค๋ฅด๋ค.
์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
const -> let
variable -> var
๋ณ์ ์ ์ธ์ ์๋ฅผ ๋ณด๋ฉด ์ด๋ฌํ๋ค. (๊ณต์ ๋ฌธ์์์ ์ ์ํ ์์์ด๋ค.)
let maximumNumberOfLoginAttempts = 10 // ์ต๋๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๋๋ค.
var currentLoginAttempt = 0 // ์ด๊ธฐ ๊ฐ์ ์ค์ ํ๋ค.
var x = 0.0, y = 0.0, z = 0.0 // ์ด๋ ๊ฒ ํ ์ค์ ๊ตฌ๋ถํด์ ์ ์ธํ ์ ์๋ค.
type annotations
์์๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ type annotiation์ ์ฌ์ฉํ์ฌ ์ด๋ค ์ ํ์ ๊ฐ์ ์ ์ฅํ ์ ์๋์ง ๋ช ํํ๊ฒ ํ ์ ์๋ค.
๋ค์๊ณผ ๊ฐ์ด welcomMessage์ String ๋ณ์๊ฐ ๋ค์ด๊ฐ ์ ์์์ ์ง์ ํ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์์ ':' ์ฆ ์ฝ๋ก ์ ~์ ์ ํ์ด๋ค ๋ผ๋ ์๋ฏธ๋ฅผ ๋ํ๋ธ๋ค.
var welcomeMessage: String // String value๋ง ์ ์ฅํ ์ ์๋ค.
welcomeMessage = "Hello" // ๋ค์๊ณผ ๊ฐ์ด String ๊ฐ์ ์๋ฌ ์์ด ์ ์ฅํ ์ ์๋ค.
var red, green, blue: Double // ์ด๋ ๊ฒ ์ฝค๋ง๋ก ๊ตฌ๋ถํ์ฌ ํ ์ค์ ์ ์ธํ ์ ์๋ค.
Naming Constants and Variables
'๐ Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] xcode์์ ์์ ํ๋ ํธ ๋ณด๊ธฐ (2) | 2023.10.01 |
---|---|
Swift Data์ ๋ํ์ฌ [๊ณต์๋ฌธ์ ๊ธฐ๋ฐ] (0) | 2023.07.04 |
[swiftUi] Text align ์์น ์ ํ๊ธฐ (0) | 2023.06.03 |
[swift] ๋์์ธ ํจํด์ด๋ !! - by ์ผ๊ณฐ๐ป (0) | 2023.04.10 |
Doit [swift] ์ฒซ์งธ ๋ง๋น (0) | 2023.02.28 |