Golang time.Round()函数及示例
在Go语言中,time包提供了确定和查看时间的功能。在Go语言中, Round() 函数用于查找将指定持续时间’d’四舍五入到最接近’m’持续时间的结果。在此,中间值的舍入方式是远离0。此外,该函数定义在time包中。因此,您需要导入“time”包才能使用这些函数。
语法:
func (d Duration) Round(m Duration) Duration
这里,’d’是将被舍入的持续时间,而’m’是最接近的倍数。
返回值:如果结果超过持续时间可以存储的最大值(或最小值),则返回最大值(或最小值)。但是,如果’m’小于或等于0,则返回不变的’d’。
示例1:
// Golang程序展示了
// Round() 函数的用法
// 导入 main 包
package main
// 导入 fmt 和 time 包
import (
"fmt"
"time"
)
// 主函数
func main() {
// 定义 Round 方法的持续时间
d, _ := time.ParseDuration("5m7s")
// 输出舍入后的 d
fmt.Printf("舍入后的d是:%s",
d.Round(6*time.Second))
}
输出结果:
舍入后的d是:5m6s
这里,“d”四舍五入为m的最接近倍数。
示例2:
// Golang程序展示了
// Round() 函数的用法
// 导入 main 包
package main
// 导入 fmt 和 time 包
import (
"fmt"
"time"
)
// 主函数
func main() {
// 定义 Round 方法的持续时间
d, _ := time.ParseDuration("3m73.671s")
// m的数组
R := []time.Duration{
time.Microsecond,
time.Second,
3 * time.Second,
9 * time.Minute,
}
// 使用循环和范围
// 遍历数组中的所有项
for _, m := range R {
// 输出所有
// 舍入的d值
fmt.Printf("Rounded(%s) is : %s\n",
m, d.Round(m))
}
}
输出结果:
Rounded(1µs) is : 4m13.671s
Rounded(1s) is : 4m14s
Rounded(3s) is : 4m15s
Rounded(9m0s) is : 0s
这里,首先形成’d’的数组,然后使用范围以便遍历d的所有值。最后使用Round()方法打印所有舍入后的d的值。