답변:
짧은 대답은 Go가 C의 후속 버전이며 C의 표준 수학 라이브러리는 거의 배정도 부동 소수점 값으로 만 정의됩니다.
더 긴 대답은 Go (또는 C)와 같이 다형성이나 함수 오버로드가없는 정적으로 유형이 지정된 언어에서 함수가 미리 가져오고 리턴 할 유형을 설정해야하며, 일단 처리하면 수학 라이브러리의 특정 유형에서 정수보다 부동 소수점 숫자에 대해 훨씬 더 흥미로운 연산이 있습니다. 몇 가지 예를 선택하려면
정수 또는 부동 소수점 숫자의 제곱 또는 n 번째 루트는 일반적으로 정수로 표현할 수 없습니다
초월 함수의 흥미로운 값은 정수로 표현할 수 있습니다.
부동 소수점 값을 나누면 정수 나누기보다 반올림이 덜 필요합니다.
입력 값이 정수인 경우처럼 보일 수는 없습니다. 정수형 값은 간단한 타입 캐스트를 사용하여 부동 소수점 값으로 변환 할 수 있습니다.
Go 또는 C와 같은 언어에 대한 이야기입니다. 다른 언어에는 다른 옵션이 있습니다.
동적으로 유형이 지정된 언어는 호출 대상 또는 반환 값이 정수로 표현 가능한지 여부에 따라 여러 유형을 가져 오거나 반환하는 수학 라이브러리 함수를 제공 할 수 있습니다.
함수 오버로딩이있는 언어는 전달한 유형에 따라 동일한 버전의 동일한 버전을 여러 버전으로 제공 할 수 있습니다 (단, 위의 동적 유형의 경우와 달리 이름이 같은 여러 함수 임)
상속이 가능한 객체 지향 언어와 같은 유형 다형성을 가진 언어는 정수 및 부동 소수점 값 모두에 대한 서브 클래스가있는 수퍼 클래스 "Number"를 정의한 다음이 Number 클래스와 관련하여 수학 함수를 정의 할 수 있습니다. 이 접근 방식은 동적 언어 접근 방식의 유연성을 크게 유지하면서 정적 또는 함수 오버로드 접근 방식의 엄격 성을 여전히 유지합니다.
그러나 Go에는 이러한 기능이 없습니다.