DAY 09
함수(function)
Swift 문자열 서식(swift string format)
import Foundation
let weight = 60.0
let height = 170.0
let bmi = weight / (height*height*0.0001)
let shortenedBmi = String(format: "%.1f", bmi)
var body = ""
// 이하 switch - case / if-else 로 처리
shortenedBmi
는 Double
형인 bmi를 소수 두번째 자리까지 표현하고, String
형으로 저장한 값이 저장된다
반드시 import Foundation이 필요함
format
이니셜라이저를 사용하여 서식을 지정할 수 있다
Default Argument(디폴트 매개변수) 정의
Argument : 외부 매개 변수명
Parameter : 내부 매개 변수명
func sayHello(count: Int, name: String = "길동") -> String {
return ("\(name), 번호는 \(count)")
}
var message = sayHello(count:100)
print(message)
// 길동, 번호는 100
argument
사용시 argument
사용하고, 전달하지 않으면 default
사용
함수로부터 여러 개의 결과 반환
함수는 여러 결과 값들을 튜플로 감싸서 반환할 수 있음
func converter(length: Float) -> (yards: Float, centimeters: Float, meter: Float) {
let yard = length * 0.0277778
let centimeters = length * 2.54
let meters = length * 0.0254
return (yards, centimeters, meters)
}
var lengthTuple = converter(length:10)
print(lengthTuple)
print(lengthTuple.yards)
print(lengthTuple.centimeters)
print(lengthTuple.meters)
output
(yards: 0.277778, centimeters: 25.4, meters: 0.254)
0.277778
25.4
0.254
2개의 정수를 입력받아 가감제 리턴
func sss(x: Int, y: Int) -> (sum: Int, sub: Int, div: Double) {
let sum = x+y
let sub = x-y
let div = Double(x)/Double(y)
// 같은 자료형만 연산 가능
return (sum, sub, div)
}
var result = sss(x:10,y:3)
print(result.sum)
print(result.sub)
print(result.div)
print(result)
output
13
7
3.3333333333333335
(sum: 13, sub: 7, div: 3.3333333333333335)
가변 매개변수(variadic parameter)
함수가 가변 매개변수를 받는다는 것을 가리키기 위하여 세 개의 점(...
)을 사용
지정되지 않은 개수의 String
값을 매개변수로 받아서 콘솔에 출력
func displayStrings(strings: String...) {
for string in strings {
print(string)
}
}
displayStrings(strings: "일", "이", "삼", "사")
displayStrings(strings: "one", "two")
함수를 호출할 때 매개변수의 개수를 가변적으로 입력해도 된다는 것
inout
var myValue = 10
func doubleValue (value: inout Int) -> Int {
value += value
return(value)
}
print(myValue)
print(doubleValue(value: &myValue))
print(myValue)
call by reference
하고 싶은 매개변수의 자료형 앞에 inout
사용
call by reference
하고 싶은 변수에 &
붙여서 호출
댓글