의 차이점은 무엇입니까? [Dictionary<String, Any>]
과 [String: Any]
을 신속하게 발견했습니다. 둘 다 똑같은 일을하는 것처럼 보입니다. 어떤 차이가 있습니까? 하나가 다른 것보다 더 낫습니까?[Dictionary <String, Any>]과 [String : Any]
답변
그들은 동일합니다. [X:Y]
구문을 사전 리터럴이라고합니다. Dictionary<X, Y>
구문은 명시적인 형식입니다. ([Dictionary<X, Y>]
이 사전의 배열이되는 것을 의미한다면 다른 것입니다.
하나가 다른 것보다 낫지는 대부분 스타일 선택입니다. 필자는 주로 명시 적 구문보다는 실제 구문을 사용하는 사람들을 보았습니다.
아마 Dictionary<String, Any>
과 [String: Any]
을 의미 할 것입니다.
그들은 단지 같은 일에 대한 표기법은 다음과 같습니다
사전 키 타입과 값 형식에 대한 일반적인 매개 변수, 그래서
Dictionary<String,Any>
는 제네릭 형식 표기법을 사용합니다.축약어
[String:Any]
은 더 유쾌하고 직관적 인 것으로 언어에 내장 된 속기 ("구문 설탕")입니다.
그러나 [Dictionary<String,Any>]
은 또 다른 것입니다. [[String:Any]]
또는 Array<Dictionary<String,Any>>
과 같습니다. 그리고 Array는 generic이므로 [Type]
구문은 구문 설탕으로 만들어 졌기 때문에 다시 같습니다.
하나는 실제로 다른 요소를 포함하는 배열입니다. [Dictionary<String:Any>]
가 [[String:Any]]
같이 쓸 수있다 Array<Dictionary<String:Any>>
속기는 동안
[String:Any]
는 Dictionary<String:Any>
속기이다.
배열/사전에 속기 표기법을 사용하려는 경우 배열은 [Element]
, 사전은 [Key:Value]
으로 쓰여질 수 있습니다. Element
, Key
및 Value
여기에 사전 표기법 :
당신은 두 가지 유형의 키에 대한 하나의 값에 대해 하나의 사전을 선언해야한다는 사실을 주목 등 String
, Int
, Any
로 구체적인 유형을 나타냅니다.
'Element','Key','Value'는'String','Any' 등의 타입을 표현할 필요가 있다는 것을 분명히해야합니다. – rmaddy
질문이 너무 광범위합니까? 또는 관련이 없습니까? 무슨 일이야? –
@matt 나는 그것을 보지 못했다. 이것을 중복으로 표시하고 투표를하십시오. –