當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Golang time.Round()用法及代碼示例


在Go語言中,時間包提供了確定和查看時間的函數。 Go語言中的Round()函數用於查找將規定的持續時間‘d’舍入為‘m’持續時間的最接近倍數的結果。在這裏,中間值的舍入方式是舍入到遠離0的舍入。此外,此函數在時間包下定義。在這裏,您需要導入“time”包才能使用這些函數。

用法:

func (d Duration) Round(m Duration) Duration

此處,d是要舍入的時間長度,而m是最接近的倍數。

返回值:如果結果超過持續時間中可以存儲的最大(或最小)值,則返回最大(或最小)持續時間。但是,如果m小於或等於0,則它返回未更改的‘d’。

範例1:



// Golang program to illustrate the usage of 
// Round() function 
  
// Including main package 
package main 
  
// Importing fmt and time 
import ( 
    "fmt"
    "time"
) 
  
// Calling main 
func main() { 
  
    // Defining duration  
    // of Round method 
    d, _:= time.ParseDuration("5m7s") 
  
    // Prints rounded d 
    fmt.Printf("Rounded d is:%s",  
            d.Round(6*time.Second)) 
}

輸出:

Rounded d is:5m6s

在此,將‘d’舍入為m的最接近倍數。

範例2:

// Golang program to illustrate the usage of 
// Round() function 
  
// Including main package 
package main 
  
// Importing fmt and time 
import ( 
    "fmt"
    "time"
) 
  
// Calling main 
func main() { 
  
    // Defining duration of Round method 
    d, _:= time.ParseDuration("3m73.671s") 
  
    // Array of m 
    R:= []time.Duration{ 
        time.Microsecond, 
        time.Second, 
        3 * time.Second, 
        9 * time.Minute, 
    } 
  
    // Using for loop and range to 
    // iterate over an array 
    for _, m:= range R { 
  
        // Prints rounded d of all  
        // the items in an array 
        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的所有舍入值。




相關用法


注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 time.Round() Function in Golang With Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。