在查看该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)
}
我认为这是一些允许您轻松导出本地函数的语法。那是对的吗?为什么要这样做,而不是只使用一个导出函数并在包中使用它?