์ค๋์ swift์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ๋ถํฐ ํจ์๊น์ง ! ๐ธ
๐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๐
๋ณ์ ์์
var r = 3.123// ๋ณํ๋ ๊ฐ
let p = 3.1415926535 // ๋ณํ์ง ์๋ ๊ฐ
var message : String = "ํ์ด"
// Bool, Int, String, Float, Double ...
cmd + click โ ๋ณ์๋ช ํ๋ฒ์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
๋ฐ์ดํฐ์ ์๋ฃํ์ ๋ณด๊ณ ํ์ ์ถ๋ก โ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ์๋ฃํ ๋ช ์ ํ์
ํ๋ฒ ์๋ฃํ์ด ์ ํด์ง๋ฉด ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ
Intํ์ ํ๋ซํผ์ ๋ฐ๋ผ ๋ฒ์๊ฐ ๋ฌ๋ผ์ง
Int8, 16, 32, 64๋ก ๋ค์ํ๋ฐ ์ฌ์ฉ๊ฐ๋ฅ ๋ฒ์๊ฐ ๋์ด๊ฐ๊ฒ ๋๋ฉด ์ค๋ฒํ๋ก์ฐ ๋ฐ์
Int๋ก ์ ์ธํ๊ฒ ๋๋ฉด ์์ ์ cpu์ ๋ง๊ฒ ์๋์ ์ผ๋ก ์ค์ ๋จ
ํจ์
// ํจ์ ์ ์ธ
func circleArea(r: Double) -> Double {
return (r * r * 3.1415926535)
}
// ํจ์ ์ฌ์ฉ
circleArea(r: 3.123)
class
class Circle {
var radius = 3.123
let pi = 3.1415926535
func circleArea(r: Double) -> Double {
return (r * r * 3.1415926535)
}
}
๊ด๋ จ์ด ์๋ ๊ฒ๋ผ๋ฆฌ ๋ฌถ๊ณ ํ์ํ ๋๋ง๋ค ์ฌ์ฉ
๊ธฐ์กด์ class ์ฌ์ฉ or ์ง์ class ๋ง๋ค์ด ์ฌ์ฉ
์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์ ( +, - , *, /, %)
- ๋น๊ต ์ฐ์ฐ์ ( <, >, <=, >=, ==, != )
- ๋ ผ๋ฆฌ ์ฐ์ฐ์ ( &&, ||, ! )
์กฐ๊ฑด๋ฌธ
- if๋ฌธ
var num = 10;
if (num < 5)
{
print("5๋ณด๋ค ์์ต๋๋ค !")
}
else if (num == 5)
{
print("5์
๋๋ค !")
}
else
{
print("5๋ณด๋ค ํฝ๋๋ค !")
}
- switch๋ฌธ
var num = "์ฅ๋ง";
switch num
{
case "๋ง์":
print("๋ง์")
case "ํ๋ฆผ":
print("ํ๋ฆผ")
case "๋น", "์ฅ๋ง":
print("๋น๋ ์ฅ๋ง")
default:
print("๋ชฐ๋ผ์ฉ ~")
}
c์ธ์ด์ ๋ค๋ฅธ ์ 1. break๋ฌธ ํ์ ์์ 2. ํ case๋น ์ฌ๋ฌ ์กฐ๊ฑด ๊ฐ๋ฅ 3. default ์์ผ๋ฉด ์ค๋ฅ ๋ฑ์
๋ฐ๋ณต๋ฌธ
- for๋ฌธ
for i in 1...10
{
print(i)
}
for i in stride(from: 1, to: 10, by: 2)
{
print("๊ฐ์: \\(i)")
}
for i in stride(from: 10, to: 1, by: -2)
{
print("๊ฐ์: " + String(i))
}
- while๋ฌธ + repeat while๋ฌธ
var i = 0
while (i < 10)
{
i += 1
print(i)
}
i = 0
repeat
{
i += 1
print(i)
} while (i < 10)
๋ฐฐ์ด
var array = [1, 2, 3, 4]
var evenArray: Array<Int> = [2, 4, 6, 8]
var charArray: [String] = ["one", "two", "three"]
array[0] // ๊ฐ ๊ฐ์ ธ์ค๊ธฐ -> 1
array.append(5) // ๋ฐฐ์ด ๋งจ ๋์ 5 ์ถ๊ฐ
array.insert(-1, at: 0) // 0๋ฒ์งธ ์ธ๋ฑ์ค์ -1 ์ถ๊ฐ
array.remove(at: 0) // 0๋ฒ์งธ ์ธ๋ฑ์ค ์ญ์
for i in array
{
print(i)
}
๋ค์ํ ํจ์๋ฅผ ํตํด ๋ฐฐ์ด์ ์ถ๊ฐ, ์ญ์ ๊ฐ ์ฉ์ด
๋์ ๋๋ฆฌ
var dic = [1: "one", 2: "two", 3: "three"] // ํค: ๋ฐธ๋ฅ
var dic1: Dictionary<Int, String> = [1: "one", 2: "two", 3: "three"]
dic[1] // ๊ฐ ๊ฐ์ ธ์ค๊ธฐ -> one
dic[4] = "four" // ๊ฐ ์ถ๊ฐ
dic.removeValue(forKey: 4) // ๊ฐ ์ญ์
dic[3] = nil // ๊ฐ ์ญ์
dic1.removeAll() // ์ ์ฒด ์ญ์ , ์ด๊ธฐํ
for (key, value) in dic
{
print("key: \\(key), value: \\(value)")
} // ๋ฐ๋ณต๋ฌธ์์ ๋์
๋๋ฆฌ ์ฌ์ฉ
for key in dic.keys
{
print(key)
} // ๋ฐ๋ณต๋ฌธ์์ ๋์
๋๋ฆฌ์ ํค๋ง
for value in dic.values
{
print(value)
}
๐ ํจ์ ๐
๊ธฐ๋ณธ ํํ
func hello(name: String) -> String {
return ("Hello~ " + name)
}
print(hello(name: "mark"))
๋ฐํ๊ฐ์ด void์ธ ๊ฒฝ์ฐ ์๋ต๊ฐ๋ฅ
๋ค์ํ ํํ
// ๊ธฐ๋ณธ ํํ
func addTwoNum(num1: Int, num2: Int) -> Int {
return (num1 + num2)
}
addTwoNum(num1: 1, num2: 2)
// ๋งค๊ฐ ๋ณ์์ ๊ธฐ๋ณธ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ
func add100(num1: Int, num2: Int = 100) -> Int {
return (num1 + num2)
}
add100(num1: 100)
add100(num1: 100, num2: 200) // ์ด๋ฐ ์์ผ๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ
// ๊ฐ๋ณ ์ธ์๋ฅผ ์ฌ์ฉํด์ ๋งค๊ฐ ๋ณ์๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ
func addNums(nums: Int...) -> Int {
var sum = 0
for num in nums
{
sum += num
}
return (sum)
}
addNums(nums: 1, 2, 3, 4, 5)
// ๋ฐํ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ
func myInfo() -> (name: String, age: Int) {
return ("mark lee", 24)
}
myInfo().name
myInfo().age
print(myInfo())
Argument label
func calc(firstNum num1: Int, secondNum num2: Int) -> Int {
return (num1 + num2)
}
calc(firstNum: 1, secondNum: 2)
// ์ธ๋๋ฐ๋ก ์๋ต๊ฐ๋ฅ
func calc2(_ num1: Int, _ num2: Int) -> Int {
return (num1 + num2)
}
calc2(1, 2) // ๋งค๊ฐ ๋ณ์๋ช
์์ด ์ฌ์ฉ ๊ฐ๋ฅ
๋งค๊ฐ ๋ณ์์ ๋ํ ์ค๋ช ์ ํด์ค
์ธ๋๋ฐ๋ก ์๋ต ๊ฐ๋ฅ โ ํจ์ ํธ์ถํ ๋๋ ์ ๋ ฅ๊ฐ๋ง ๋ฃ์ ์ ์์
inout
func addTwoNum(num1: Int, num2: inout Int) -> Int {
num2 = 0
return (num1 + num2)
}
var num1 = 1
var num2 = 2
addTwoNum(num1: num1, num2: &num2)
inout ํค์๋ ์์ด ๋งค๊ฐ ๋ณ์์ ๊ฐ์ ๋ฐ๊ฟ ์ ์์ ! โ ์๋ฌ
inout ํค์๋๊ฐ ์๋ ๊ฒฝ์ฐ ํจ์ ํธ์ถ ์ ์ฃผ์ ์ฐ์ฐ์ ๋ถ์ฌ์ผ ํจ
- 16์ง์ ์ฌ์ฉ์ด์ : ๋ฐ์ดํธ์ ์ ๋ง์ + ๊ฐ๊ฒฐํ๊ณ ์งง์ + 2์ง์์ ์ํธ๋ณํ์ด ์ฌ์(4์๋ฆฌ์ฉ ๋์ด์)
- ์ฉ์ด ์ ๋ฆฌ
func calc(firstNum num1: Int, secondNum num2: Int) -> Int {
return (num1 + num2)
}
// func : ํจ์ ํค์๋
// calc : ํจ์ ์ด๋ฆ
// num1 : ํ๋ผ๋ฏธํฐ ๋ค์ == ๋งค๊ฐ๋ณ์ ์ด๋ฆ
// Int : ํ๋ผ๋ฏธํฐ ํ์
, ๋ฆฌํด ํ์
// firstNum : argument label == ์ธ์์ ๋ํ ์ค๋ช
calc(firstNum: 10, secondNum: 10) // argument == ์ธ์
๋ !!
๊ทธ๋๋ c๋ ๊ฐ๋ ์ ๊ฑฐ์ ๋น์ทํด์ ์ฌ์ ๋ค! ํ์๋ง ์์ ์ต์ผ๋ฉด ๋ ๋ฏ

'c o d i n g . . ๐ > ios' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ฐ] ์์ดํฐ ์ฑ ๊ฐ๋ฐ(4) (0) | 2022.06.22 |
---|---|
[์ธํ๋ฐ] ์์ดํฐ ์ฑ ๊ฐ๋ฐ(3) (0) | 2022.06.21 |
[์ธํ๋ฐ] ์์ดํฐ ์ฑ ๊ฐ๋ฐ(1) (0) | 2022.06.17 |