ProgramingTip

Go에서 분할을 수행하는 방법

bestdevel 2020. 11. 15. 11:36
반응형

Go에서 분할을 수행하는 방법


Go에서 간단한 분할을 수행합니다.

fmt.Println(3/10)

0.3 대신 0을 인쇄합니다. 이건 좀 이상 해요. 누군가가 그 이유를 공유해 주시겠습니까? Go에서 다른 산술 연산을 수행하고 싶습니다.

감사합니다


비어있는 3 / 10유형이 지정되지 않은 상수입니다. 이렇게 사양 은 상수에 대해.

이진 연산의 피연산자가 다른 종류의 유형이 지정되지 않은 경우에는 연산의 경우 연산 및 부울이 아닌 연산의 경우 결과는이 목록의 뒷부분에 나오는 정수, 룬, 부동 소수점, 복합 유형을 사용합니다.

때문에 3하고 10지정되지 않은 정수 상수이며, 식의 값 (지정되지 않은 정수이고, 0이 경우에).

피연산자 중 하나는 부동 소수점 상수에 대한 결과에 대한 부동 소수점 상수 집합니다. 다음 어디에도없는 유형이 지정되지 않은 부동 소수점 상수로 평가 0.3됩니다.

3.0 / 10.0
3.0 / 10
3 / 10.0

형식화 된 상수를 사용할 수도 있습니다. 다음 임시은 float64상수로 평가 0.3됩니다.

float64(3) / float64(10)
float64(3) / 10
3 / float64(10)

위의 인쇄를 인쇄하면 0.3. 예를 들어, fmt.Println(3.0 / 10)인쇄 0.3.


@Cerise에서 언급 하고 사양에 따라

산술 연산자는 숫자 값에 적용되고 첫 번째 피연산자와 동일한 결과를 생성합니다 .

이 경우 첫 번째 피연산자부동 소수점이어야합니다.

fmt.Println(3.0/10)
fmt.Println(float64(3)/10)
// 0.3 0.3

참고 URL : https://stackoverflow.com/questions/32815400/how-to-perform-division-in-go

반응형