戻り値とタプルによる複数の戻り値
単一の値やタプルを使った複数の値を返します。要素に名前を付ける方法、アンダースコアで無視する方法、早期リターンも学びます。
「戻り値とタプルによる複数の戻り値」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全3レッスンが含まれています。
導入
関数は単一の値、または複数の値をまとめたタプルを返せます。これにより、モバイル向けの小規模なコードでもAPIをシンプルに保てます。
単一の値を返す
戻り値の型を->で宣言し、returnを使って結果を返します。
func double(_ x: Int) -> Int {
return x * 2
}
print(double(5)) // 10名前なしタプルを返す
複数の値をタプルとして返し、要素にはインデックスでアクセスします。
func minMax(_ a: Int, _ b: Int) -> (Int, Int) {
if a < b { return (a, b) }
else { return (b, a) }
}
let pair = minMax(7, 3)
print("min =", pair.0, "max =", pair.1)名前付きタプル要素
タプルの要素に名前を付けると、result.countのように読みやすくアクセスできます。
func stats(_ xs: [Int]) -> (count: Int, sum: Int) {
var s = 0
for x in xs { s += x }
return (xs.count, s)
}
let result = stats([2, 3, 5])
print("count =", result.count, "sum =", result.sum)分解代入
タプルを変数に分解代入し、使用しない値は_で無視します。
func coords() -> (x: Int, y: Int) { (3, 4) }
let (x, _) = coords() // ignore y
print("x =", x)早期リターン
早期リターンを使うとコードをフラットに保ち、特殊なケースを明示できます。多くの場合、オプショナルと組み合わせます。
func safeDivide(_ a: Int, _ b: Int) -> Int? {
if b == 0 { return nil } // early return for invalid input
return a / b
}
print(safeDivide(6, 2) ?? -1)
print(safeDivide(6, 0) ?? -1)複数の値を返す
クイックチェック: 関数から複数の値を返すにはどうすればよいですか?
振り返り
振り返り: 単一の値またはタプルを返し、明確さのために要素に名前を付け、代入時に分解し、特殊なケースには早期リターンを使用します。
よくある質問
「戻り値とタプルによる複数の戻り値」レッスンは無料ですか?
はい。「戻り値とタプルによる複数の戻り値」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全3レッスンが含まれています。
「戻り値とタプルによる複数の戻り値」で何を学びますか?
単一の値やタプルを使った複数の値を返します。要素に名前を付ける方法、アンダースコアで無視する方法、早期リターンも学びます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「戻り値とタプルによる複数の戻り値」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 関数の定義、パラメーター、ラベル、デフォルト値・可変長引数
- 戻り値とタプルによる複数の戻り値
- in-outパラメーターと基本的なエラー処理(throws)