import UIKit
// 함수 정의 (항상 앞글자 소문자로 시작)
func doSomething() {
print(1)
print(2)
print(3)
}
// 함수 사용
doSomething()
/**
함수의 사용 이유
1. 반복되는 동작을 재사용 하는 것
2. 구체적인 것을 몰라도 함수를 사용 가능.
*/
func test1(name: String){ // parameter
print("안녕하세요, \(name)입니다.")
}
test1(name: "소야") // argument
func test2(a: Int){
print(a)
}
test2(a: 1)
/**
함수에 아웃풋이 있는 경우
리턴이 필요함.
리턴형이 있는경우 표현식이 될수있다.
*/
func test3() -> String{
var hello = "안녕하세요"
return hello
}
print(test3())
var hello = test3()
/**
함수에 인풋과 아웃풋이 같이 있는 경우
*/
// 함수 정의문
func flusFunction(a:Int, b:Int)-> Int{
let c = a + b
return c // 아웃풋인 경우, 리턴을 사용해야함.
}
print(flusFunction(a: 2, b: 3))
func someFunction(x:Int) -> Int{
let c = 2 * x + 3
return c
}
print(someFunction(x: 2))
/**
void 타입의 이해( 아웃풋이 없는 경우)
1. return 값이 없음.
*/
func test4_1() {
print("아웃풋이 없음.")
}
func test4_2() -> Void{
print("아웃풋이 없음.")
}
func test4_3() -> (){
print("아웃풋이 없음.")
}
test4_1()