實例下標
subscript(_:
subscript(_:default:)
使用給定鍵訪問值,如果找不到該鍵,則回退到給定的默認值。
聲明
subscript(
key: Key,
default defaultValue: @autoclosure () -> Value
) -> Value { get set }
當
Key
符合 Hashable
時可用。返回值
字典中與key
相關的值;否則,defaultValue
。
參數
key
在字典中查找的鍵。
defaultValue
如果字典中不存在
key
,則使用默認值。
概述
如果您想要特定鍵的值,或者當字典中不存在該鍵時,請使用此下標。此示例使用帶有消息的下標,以防無法識別 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, default: 0] += 1
}
// letterCounts == ["H": 1, "e": 2, "l": 4, "o": 1, ...]
當 letterCounts[letter, default: 0] += 1
使用 letter
的值執行時,該值還不是 letterCounts
中的鍵,從下標返回指定的默認值 ( 0
),遞增,然後添加到該下的字典中鑰匙。
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift Dictionary subscript(_:)用法及代碼示例
- Swift Dictionary suffix(from:)用法及代碼示例
- Swift Dictionary suffix(_:)用法及代碼示例
- Swift Dictionary sorted(by:)用法及代碼示例
- Swift Dictionary split(maxSplits:omittingEmptySubsequences:whereSeparator:)用法及代碼示例
- Swift Dictionary shuffled(using:)用法及代碼示例
- Swift Dictionary shuffled()用法及代碼示例
- Swift Dictionary allSatisfy(_:)用法及代碼示例
- Swift Dictionary values用法及代碼示例
- Swift Dictionary dropFirst(_:)用法及代碼示例
- Swift Dictionary firstIndex(where:)用法及代碼示例
- Swift Dictionary first(where:)用法及代碼示例
- Swift Dictionary merge(_:uniquingKeysWith:)用法及代碼示例
- Swift Dictionary isEmpty用法及代碼示例
- Swift Dictionary reduce(_:_:)用法及代碼示例
- Swift Dictionary init(uniqueKeysWithValues:)用法及代碼示例
- Swift Dictionary makeIterator()用法及代碼示例
- Swift Dictionary randomElement()用法及代碼示例
- Swift Dictionary init(grouping:by:)用法及代碼示例
- Swift Dictionary dropLast(_:)用法及代碼示例
- Swift Dictionary min(by:)用法及代碼示例
- Swift Dictionary max(by:)用法及代碼示例
- Swift Dictionary updateValue(_:forKey:)用法及代碼示例
- Swift Dictionary removeValue(forKey:)用法及代碼示例
- Swift Dictionary map(_:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Dictionary subscript(_:default:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。