"_"は何のため?
swiftのプログラムを見ていると、たまに関数の引数名の左に"_"(アンダースコア)が書いてあるときがあります。
howToUseUnderscore
func howToUseUnderscore(_ number1: Int, _ number2: Int) {
print(number1 + number2)
}
引数名number1とnumber2の左に書かれている"_"は何を意味するのでしょうか、、、
"_"で引数名を省略できる!
関数定義のとき、"_"を引数名の左に書くことで、関数を呼び出す際に引数名の記載を省略することができます。
- "_"を書かないとき
howToUseUnderscore
func howToUseUnderscore(number1: Int, number2: Int) {
print(number1 + number2)
}
howToUseUnderscore(number1: 1, number2: 2) // -> 3
- "_"を書いたとき
howToUseUnderscore
func howToUseUnderscore(_ number1: Int, _ number2: Int) {
print(number1 + number2)
}
howToUseUnderscore(1, 2) // -> 3
##ちなみに、、、
"_"を書いているのに、関数を呼び出す際に引数名を記載するとエラーが起こります。
"_"は関数を呼び出す際、「引数名を書かなくて良い」では無く、「引数名を書かない(書いてはいけない)」という意味のようです。
howToUseUnderscore
func howToUseUnderscore(_ number1: Int, _ number2: Int) {
print(number1 + number2)
}
howToUseUnderscore(number1: 1, number2: 2) // -> エラー!!