在查看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)
}
Run Code Online (Sandbox Code Playgroud)
我假设这是一些允许您轻松导出本地函数的语法.那是对的吗?为什么要这样做而不是只有一个导出的函数并在包中使用它?