[Swift]関数を理解してください!
この本は『swift programming』を勉強した上で書いたものです。
n.関数
基本関数の定義と呼び出し
func
です.func 함수이름(매개변수...) -> 반환타입 {
실행 구문
return 반환 값
}
return
キーワードを省略することができる.func introduce(name: String) -> String {
"안녕하세요, 저의 이름은 " + name + "입니다."
}
パラメータ
//매개변수가 없는 경우
func helloWorld() -> String {
return "Hello, world!"
}
//매개변수가 여러 개인 경우
func sayHello(myName: String, yourName: String) -> String {
return "Hello \(yourName)! My name is \(myName)"
}
print(sayHello(myName: "zooneon", yourName: "Mike")) //Hello Mike! My name is zooneon
パラメータ名と伝達パラメータラベル
func 함수 이름(전달인자 레이블 매개변수 이름: 매개변수 타입, 전달인자 레이블 매개변수 이름:
매개변수 타입) -> 반환 타입 {
실행 구문
return 반환 값
}
func sayHello(from myName: String, to yourName: String) -> String {
return "Hello \(yourName)! My name is \(myName)"
}
print(sayHello(from: "zooneon", to: "Mike")) //Hello Mike! My name is zooneon
ファクタラベルをfunc sayHello(_ myName: String, _ yourName: String) -> String {
return "Hello \(yourName)! My name is \(myName)"
}
print(sayHello("zooneon", "Mike")) //Hello Mike! My name is zooneon
パラメータデフォルト
func sayHello(_ name: String, _ times: Int = 2) -> String {
var result: String = ""
for _ in 0..<times {
result += "Hello \(name)!" + " "
}
return result
}
print(sayHello("zooneon")) //Hello zooneon! Hello zooneon!
print(sayHello("zooneon", 3)) //Hello zooneon! Hello zooneon! Hello zooneon!
デフォルト値のないパラメータは、デフォルト値のあるパラメータの前に使用することが望ましい. 可変パラメータ
func deliciousFood(_ foods: String...) -> String {
var result: String = ""
for food in foods {
result += "I like \(food). "
}
return result
}
print(deliciousFood("pizza", "sushi", "steak")) //I like pizza. I like sushi. I like steak.
I/Oパラメータ
inout
パラメータで伝達される変数または定数の前に和(&)を付けて表す.var numbers: [Int] = [1, 2, 3]
func referenceParameter(_ arr: inout [Int]) {
arr[1] = 1
}
referenceParameter(&numbers)
print(numbers[1]) //1
戻り関数なし
関数が
Void
または省略としてマークすることができる.func helloWorld() {
print("Hello, world!")
}
helloWorld() //Hello, world!
データ型の関数として
(매개변수 타입의 나열) -> 반환 타입
typealias Sentence = (String, String, String) -> String
func sentenceFunction(_ a: String, _ b: String, _ c: String) -> String {
return a + b + c
}
var makeSentence: Sentence = sentenceFunction
print(makeSentence("I ", "love ", "sushi")) //I love sushi
Reference
この問題について([Swift]関数を理解してください!), 我々は、より多くの情報をここで見つけました https://velog.io/@zooneon/Swift-함수에-대해-알아보자テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol