2017-12-16 7 views
-3

의 차이점은 무엇입니까? [Dictionary<String, Any>][String: Any]을 신속하게 발견했습니다. 둘 다 똑같은 일을하는 것처럼 보입니다. 어떤 차이가 있습니까? 하나가 다른 것보다 더 낫습니까?[Dictionary <String, Any>]과 [String : Any]

+0

질문이 너무 광범위합니까? 또는 관련이 없습니까? 무슨 일이야? –

+0

@matt 나는 그것을 보지 못했다. 이것을 중복으로 표시하고 투표를하십시오. –

답변

0

그들은 동일합니다. [X:Y] 구문을 사전 리터럴이라고합니다. Dictionary<X, Y> 구문은 명시적인 형식입니다. ([Dictionary<X, Y>]이 사전의 배열이되는 것을 의미한다면 다른 것입니다.

하나가 다른 것보다 낫지는 대부분 스타일 선택입니다. 필자는 주로 명시 적 구문보다는 실제 구문을 사용하는 사람들을 보았습니다.

0

아마 Dictionary<String, Any>[String: Any]을 의미 할 것입니다.

그들은 단지 같은 일에 대한 표기법은 다음과 같습니다

  • 사전 키 타입과 값 형식에 대한 일반적인 매개 변수, 그래서 Dictionary<String,Any>는 제네릭 형식 표기법을 사용합니다.

  • 축약어 [String:Any]은 더 유쾌하고 직관적 인 것으로 언어에 내장 된 속기 ("구문 설탕")입니다.

그러나 [Dictionary<String,Any>]은 또 다른 것입니다. [[String:Any]] 또는 Array<Dictionary<String,Any>>과 같습니다. 그리고 Array는 generic이므로 [Type] 구문은 구문 설탕으로 만들어 졌기 때문에 다시 같습니다.

0

하나는 실제로 다른 요소를 포함하는 배열입니다. [Dictionary<String:Any>][[String:Any]] 같이 쓸 수있다 Array<Dictionary<String:Any>> 속기는 동안

[String:Any]Dictionary<String:Any> 속기이다.

배열/사전에 속기 표기법을 사용하려는 경우 배열은 [Element], 사전은 [Key:Value]으로 쓰여질 수 있습니다. Element, KeyValue 여기에 사전 표기법 : 당신은 두 가지 유형의 키에 대한 하나의 값에 대해 하나의 사전을 선언해야한다는 사실을 주목 등 String, Int, Any로 구체적인 유형을 나타냅니다.

+0

'Element','Key','Value'는'String','Any' 등의 타입을 표현할 필요가 있다는 것을 분명히해야합니다. – rmaddy