文書   >   Swift   >   Dictionary   >   subscript(_:default:)


サブスクリプト


subscript(_:default:)


与えられたキーで値にアクセスします。辞書に与えられたキーが含まれていない場合、キーとデフォルト値が辞書に存在するかのように、提供されたデフォルト値にアクセスします。





宣言


subscript(key: Key) -> Value? { get set }


パラメータ


key辞書内で検索すべきキー。
defaultValueKey が辞書内に存在しない場合に使用すべきデフォルト値。


戻り値


辞書内の Key に関連した値。それ以外の場合、defaultValue`。


議論


特定のキーの値が必要な場合、またはそのキーがデフォルト値である辞書内に存在しない場合は、このサブスクリプトを使用します。この例では、HTTP 応答コードが認識されない場合に使用すべきメッセージとともにサブスクリプトを使用しています。


var responseMessages = [200: "OK",
                        403: "Access forbidden",
                        404: "File not found",
                        500: "Internal server error"]

let httpResponseCodes = [200, 403, 301]
for code in httpResponseCodes {
    let message = responseMessages[code, default: "Unknown response"]
    print("Response \(code): \(message)")
}
// Prints "Response 200: OK"
// Prints "Response 403: Access Forbidden"
// Prints "Response 301: Unknown response"


辞書の Value 型に値の意味がある場合、このサブスクリプトを使用して、辞書内の値に対してその場で操作を実行できます。以下の例では、このサブスクリプトを使用して、文字列内の各文字の出現回数をカウントします。


let message = "Hello, Elle!"
var letterCounts: [Character: Int] = [:]
for letter in message {
    letterCounts[letter, defaultValue: 0] += 1
}
// letterCounts == ["H": 1, "e": 2, "l": 4, "o": 1, ...]


letterCounts[letter, defaultValue: 0] += 1 が既に letterCounts 内のキーではない letter の値で実行されると、指定されたデフォルト値 (0) がサブスクリプトから返され、増分されてからそのキーの下の辞書に追加されます。


注意:

辞書の Value 型がクラスの場合、このサブスクリプトを使用して辞書の値を変更しないでください。この場合、デフォルト値とキーは、操作後に辞書に書き戻されません。


以下も見よ





キーと値へのアクセス

















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • 言語:Swift
  • SDK


    Xcode 9.0+

    フレームワーク

    Swift 標準ライブラリ

  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)