При просмотре источника для метода math.Ceil
я нашел этот синтаксис, где есть экспортированная подпись функции без тела, -экспортная версия той же подписи, которая включает в себя реализацию:
// Ceil returns the least integer value greater than or equal to x.
//
// Special cases are:
// Ceil(±0) = ±0
// Ceil(±Inf) = ±Inf
// Ceil(NaN) = NaN
func Ceil(x float64) float64
func ceil(x float64) float64 {
return -Floor(-x)
}
Я предполагаю, что это некоторый синтаксис, который позволяет вам легко экспортировать локальную функцию. Это верно? И зачем это делать, а не просто иметь одну экспортированную функцию и использовать ее в пакете?