[Swift] function
2222 ワード
Function
keyword : func
func printName() {
print("My name is Meredith")
}
printName()
func numgob(i: Int) {
print(i*10)
}
numgob(i: 7)
func totalPrice(price: Int, count: Int) {
print("Total Price : $\(price*count)")
}
totalPrice(price: 3, count: 15)
func printTotalPrice(_ price: Int, _ count: Int) {
print("Total Price : $\(price*count)")
}
printTotalPrice(price: Int, count: Int) // price:Int 자리에 3, count:Int 자리에 15 입력
printTotalPrice(3, 15)
func printTotalPriceKorean(ㄱㅏㄱㅕㄱ price: Int, ㄱㅐㅅ수 count: Int) {
print("Total Price : $\(price*count)")
}
printTotalPriceKorean(ㄱㅏㄱㅕㄱ: Int, ㄱㅐㅅ수: Int)
printTotalPriceKorean(ㄱㅏㄱㅕㄱ: 3, ㄱㅐㅅ수: 15)
//내가 설정한 한글로도 입력 전에 보이게 할 수 있다.
return
keyword : -> dataType
func totalPrice(price: Int, count:Int) -> Int {
let total = price * count
return total
}
print(totalPrice(price: 3, count: 15))
overload
function名は同じですが、パラメータタイプは異なります
// overroad
func printTotalPrice(price: Double, count: Double) {
print(" Total price : \(price * count)")
}
func printTotalPrice(price: Int, count: Int) {
print(" Total price : \(price * count)")
}
inout
parameterは基本的に定数(constant)を伝達する.
定数なので、値は変更できません.
したがって、関数で変更が必要な場合はinoutパラメータを使用します.
1.関数を呼び出すと、パラメータに渡される変数がコピーされます.
2.関数体で、コピーした値を変更します.
3.関数を返すときに、変更した値をソース変数に再割り当てします.
var value = 3
func incrementAndPrint(_ num: inout Int) {
num += 1
print(num)
}
incrementAndPrint(&value)
つまり、inoutは値を変更すると宣言したようなものです.へんすうじゅしんかんすう
func add(_ a: Int, _ b: Int) -> Int {
return a + b
}
func subtract(_ a: Int, _ b: Int) -> Int {
return a - b
}
var function = add
function(4, 2)
function = subtract
print(function(4, 2))
func printResult(_ function: (Int, Int) -> Int, _ a: Int, _ b: Int) {
print(function(a, b))
}
printResult(add, 33, 33)
Reference
この問題について([Swift] function), 我々は、より多くの情報をここで見つけました https://velog.io/@homingsea/ios-Swift-functionテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol