2016-09-28 8 views
0

내가 신속한 공부에 새로 온 사람과 iOS 및 해당 설명서에이 글을 읽을 :스위프트 유형 : 표현식에서 정수 및 부동 소수점 리터럴을 결합

당신은 표현의 정수 및 부동 소수점 리터럴을 결합하는 경우 더블의 종류가 콘텍스트 추론 될 것이다

let anotherPi = 3 + 0.14159 
// anotherPi is also inferred to be of type Double 

3의 리터럴 값 그 자체 명시 유형이 없으며, 그래서 더블 적절한 출력 I 형이고 덧셈의 ​​일부로 부동 소수점 리터럴 인 이 존재하는 것으로 간주됩니다.

명시 적 정수 유형과 명시 적 double 유형을 추가하면 swift는 int와 double을 신속하게 추가 할 수 없으므로 오류가 발생한다는 것을 알고 있습니다. 문서에서 위 인용문은 정수 리터럴 3이 swift에 의해 double 유형으로 유추 된 다음 double 유형으로 추측되는 부동 리터럴 0.14159에 추가된다는 것을 의미합니까? 또는 int 리터럴과 부동 소수점 리터럴을 추가하면 출력이 double로 추정된다는 것을 의미합니까?

답변

1

기본적으로 부동 소수점 리터럴은 Double으로 추측됩니다. 당신은 운동장이를 테스트 할 수 있습니다 1 리터럴 정수를 두 번 것으로 추정 할 수 있기 때문에 (그것이 Double에 추가되기 때문에)

// Swift 3 

let a = 0.14159 

print(type(of: a)) // Double 

let b = 1 + a // works 

let c = Int(1) + a // doesn't work 

예 B가 작동합니다. 1은 명시적인 Int이기 때문에 예제 C가 작동하지 않습니다. 이렇게하면 Swift의 숫자 형 안전이 유지되는 동시에 간단한 수학을 쉽게 수행 할 수 있습니다.

관련 문제