キャンペーンの今のうちに是非!!↓


⇒「ひろゆきの名著『1%の努力』を無料で全部読む方法

【Swift奮闘記ep7】関数後半戦(引数名の省略、デフォルト値、スコープ、関数の決まり事)

IPhoneアプリ作成Swift奮闘記

読み進めていく本↓

前回⇒「【Swift奮闘記ep6】関数前半戦(引数、戻り値、外部引数)に突入!

関数もあと一息、頑張ろう!

引数名の省略

省略したい引数の前に_(アンダースコア)を入れればいいみたいだ。

どうでもいいけどアンダー”バー”じゃないんだな。

func ryaku( _ name: String,  _ name1: String) -> String {

    return \(name)さんと\(name1)さんは初対面です

}

ryaku(“taro”,“jiro”)

“taroさんとjiroさんは初対面です”

てな感じにアンダーバーを使うと関数の指示を出すときにnameとname1の引数が不必要になる、ということだ。

引数のデフォルト値

引数に何も指定しなかったら、デフォルト値を代入しますよって話だね。

func sayHi(name: String = “taro”) -> String {

    return こんにちは、\(name)さん。

}

sayHi(name: “kojiro”)

sayHi()

“こんにちは、kojiroさん。”

“こんにちは、taroさん。”

2つめは引数がなかったからデフォルト値のtaroが代入された。

スコープ

範囲のことをスコープという。

例えば関数の{と}の間の範囲のこととか。

スコープないで定義した変数や定数は、同一スコープ内以外では使えないので注意、とのこと。

※子要素のスコープは親要素のスコープの変数・定数を使うことは可能。

→関数{ if(~~~)}とかだったら関数内に出てきた変数・定数はifの中でも自由に使うことができるということ。

 

関数名の決まりごと

原則、定数・変数同様、関数も同じ名前はエラーが出るんだけど、関数の場合、引数が異なる場合は違う関数とされるため、同じ関数名でも定義できる。

sayHello( ) {

print(“こんにちは”)

}

sayHello( name: String) {

print(“こんにちは、\(name)さん”)

}

は別の関数と認識される、ということ。

 

今日はここまで。

続き⇨「【Swift奮闘記ep8】オプショナルとは?

コメント