프로그래밍 초보자 Swift 함수 및 클로저 정보
함수와 클로저
언제까지나 함수를 인수로 부른다는 작업을 할 때 손이 멈춰 버리는 장기 인턴생입니다.
작업을 하고 있는 동안에 인수의 취급 방법을 모르게 된 것이 몇번이나 있다.
거기서, 또 손이 멈춰 버렸을 때를 위해 키타에 올려 두려고 생각합니다.
투고하는 내용이 교과서 레벨인 것만으로 부끄럽다.
처리 재사용
기능
名前を持ったひとまとまりの処理
정의 방법
func 関数名(引数名1: 型, 引数名1: 型) -> 戻り値の型 {
関数呼び出し時に実行される文
必要に応じてreturn文で戻り値を返却
}
EX
func double(x: Int) -> Int {
return x * 2
}
double(x: 2) // 4
실행 방법
関数名(引数名1: 型, 引数名1: 型)
let 定数名 = 関数名(引数名1: 型, 引数名1: 型)
인수
関数への入力
임시 인수와 실제 인수
임시 인수
함수 정의시 선언하는 것
실제 인수
함수 호출시 지정하는 것
이 경우 int는 임시 인수이고 1은 실제 인수입니다.
func printInt(int: Int) {
print(int)
}
printInt(int: 1)
외부 인수 이름과 내부 인수 이름
인수명은 함수의 호출시에 사용하는 외부 인수명과, 함수내에서 사용되는 내부 인수명의 2 개를 가질 수가 있다.
정의 방법
外部引数名 内部引数名 : 型
func sum(_ int1: Int, _ int2: Int) -> Int {
return int1 + int2
}
let result = sum(1, 2)
기본 인수
引数のデフォルト値
func eat(food: String = "カレー") {
print("私は\(food)が食べたい")
}
eat()
eat(food: "ラーメン")
인아웃 인수
関数外に変更を共有する引数
인수의 형태의 선두에 inout
(을)를 추가한다.인 아웃 인수를 가지는 함수를 호출하려면, 인 아웃 인수의 선두에
&
를 더합니다.func start(user: inout String) {
if user.isEmpty {
user = "World"
}
print("Hello, \(user)!")
}
var user: String = ""
start(user: &user) // Hello, World!
가변 길이 인수
任意の個数の値を受け取る引数
함수 내에서 가변 길이 인수의 유형은 [문자열]로 처리됩니다.
func print(strings: String...) {
if strings.count == 0 {
return
}
print("first: \(strings[0])")
for string in strings {
print("element: \(string)")
}
}
print(strings: "abc", "def", "ghi")
//first: abc
//element: abc
//element: def
//element: ghi
반환값
関数の出力を表す値
함수 선언에서 반환 값의 유형 지정은 필수가 아니며 반환 값이 필요하지 않은 경우 함수 선언에서 반환 값 유형을 생략 할 수 있습니다.func start(user: String) {
print("Hello, \(user)!")
}
start(user: "World") // Hello, World!
함수 선언에서 반환값의 형태의 정의를 생략했을 경우, 함수의 반환값은 Void형이 된다.
func start(user: String) -> Void {
print("Hello, \(user)!")
}
start(user: "World") // Hello, World!
클로저
スコープ内の変数や定数を保持したひとまとまりの処理
클로저에 대해서는 시간이 있을 때 합니다 최근에는 대학이 바쁘고 전혀 프로그래밍에 몰두하지 않았기 때문에 앞으로 빈 시간을 효과적으로 활용해 나가고 싶다. 그리고 인턴으로 손이 멈추는 시간을 줄이고 싶다,,.
참고문헌
[개정신판] Swift 실천입문
Reference
이 문제에 관하여(프로그래밍 초보자 Swift 함수 및 클로저 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KnoTrd/items/391b1ce07c7fb0d06adb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)