Go语言运行时间

幸运草 2020年4月18日23:01:15前端框架评论阅读模式

Go语言运行时间

常用的时间段

type Duration int64

Duration类型代表两个时间点之间经过的时间,以纳秒为单位。可表示的最长时间段大约290年。

const (
    Nanosecond  Duration = 1                  // 表示1纳秒
    Microsecond          = 1000 * Nanosecond  // 表示1微妙
    Millisecond          = 1000 * Microsecond // 表示1毫秒
    Second               = 1000 * Millisecond // 表示1秒
    Minute               = 60 * Second        // 表示1分钟
    Hour                 = 60 * Minute        // 表示1小时
)
func Sleep(d Duration)

Sleep阻塞当前go程至少d代表的时间段。d<=0时,Sleep会立刻返回。

func (t Time) Before(u Time) bool

如果t代表的时间点在u之前,返回真;否则返回假。

func (t Time) After(u Time) bool

如果t代表的时间点在u之后,返回真;否则返回假。

代码实现:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    after_time := time.Unix((time.Now().Unix() - 5), 0)
    before_time := time.Unix((time.Now().Unix() + 5), 0)
    after := now.After(after_time)
    before := now.Before(before_time)
    time.Sleep(5 * time.Second)
    fmt.Printf("after => %v , before => %vn", after, before)
}

运行时间

func Since(t Time) Duration

Since返回从t到现在经过的时间,等价于time.Now().Sub(t)。

函数time.Since() ,计算golang运行的时间是非常有用的性能衡量指标,特别是在并发基准测试中。

代码实现:

package main

import (
    "fmt"
    "time"
)

func runtimes() {
    start := time.Now()

    for i := 0; i < 10000; i++ {
        time.Sleep(2 * time.Nanosecond) //休眠2纳秒
    }
    elapsed := time.Since(start)
    fmt.Println("runtimes elapsed : ", elapsed)
}

func main() {
    runtimes()
}

特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
幸运草
Go语言接口规则 前端框架

Go语言接口规则

Go语言接口规则 接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数...
Go语言中处理 HTTP 服务器 前端框架

Go语言中处理 HTTP 服务器

1 概述 包 net/http 提供了HTTP服务器端和客户端的实现。本文说明关于服务器端的部分。 快速开始: package main import (   "log"   "net/http" )...

发表评论