関数の引数の外部名と内部名

関数

関数とは
  • 関数とは処理をまとめたもののこと
func 関数名(引数名:型名) -> 戻り値の型{
    処理
    return 戻り値
} 
func sum(a:Int,b:Int) -> Int{
    let c = a + b
    return c
}
sum(a:1,b:2)
print(sum)
  • sumという関数を定義して、引数はaとbに設定します。
  • 処理ではa+bをします。
  • 関数を実行するときに値を設定します。
  • print(sum)で1+2の3が表示されます。

引数に外部名内部名を設定する

外部名 内部名とは

引数名を一文字にするなどの省略したものは便利ですが、その引数名ではチームの誰かがコードを見直したときになんのことかわからなくなります。誰がみてもわかりやすくするために引数は外部名と内部名を設定することができます。

func 関数名(外部名 内部名:型名) -> 戻り値の型{
    処理
    return 戻り値
} 
外部名・内部名
  • 引数の外部名は関数実行時に使われる名前です。
  • 引数の内部名は関数の定義の中で使われる名前です。
  • 引数をひとつしか設定しない場合、内部名と外部名は同一であるとみなされます。
func greet(yourname name:String) -> String{
    let f = "Hello."
    let s = "My name is\(name)."
    let t = "Nice to meet you."
    return f + s + t
}

let phrase = greet(yourName: "Hana")
print(phrase)
  • greetという関数で外部名yourname、内部名nameで設定します。
  • 処理の部分は内部名nameが使用できます。
  • 関数の実行ではyourNameを使用します。
  • print(phrase) でHello.My name is Hana.Nice to meet you.が表示されます。

外部名の省略

func 関数名(_ 内部名:型名) -> 戻り値の型{
    処理
    return 戻り値
} 
外部名は省略することができる

外部名は_(アンダーバー)にすることによって省略することが可能です。

引数はひとつは設定しないと処理がわからなくなるため内部名は省略できません。

外部名を_(アンダーバー)にすることによって呼び出すときに引数なしで呼び出すことができます。

func times(_ a:Int,_ b:Int) -> Int{
    return a*b
}
let c =times(10,20)
print(c)
  • 外部名を_(アンダーバー)で省略して関数を定義します。
  • 関数の実行で引数を省略することができます。
  • print(c)で200が表示されます。
関数のオーバーロード(多重定義)  関数のオーバーロード(多重定義)