#go语言的time包 ##组成

  • time.Duration(时长,耗时)
  • time.Time(时间点)
  • time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ]

time包里有2个东西,一个是时间点,另一个是时长
时间点的意思就是“某一刻”,比如 2000年1月1日1点1分1秒 那一刻(后台记录的是unix时间,从1970年开始计算)
时长就是某一刻与另一刻的差,也就是耗时

##函数
###Sleep函数
time.Sleep(time.Duration)
表示睡多少时间,睡觉时,是阻塞状态

fmt.Println("start sleeping...")
time.Sleep(time.Second)
fmt.Println("end sleep.")
//【结果】打印start sleeping后,等了正好1秒后,打印了end sleep
//会阻塞,Sleep时,什么事情都不会做

###After函数 time.After(time.Duration)
和Sleep差不多,意思是多少时间之后,但在取出管道内容前不阻塞

fmt.Println("the 1")
tc:=time.After(time.Second) //返回一个time.C这个管道,1秒(time.Second)后会在此管道中放入一个时间点(time.Now())
//时间点记录的是放入管道那一刻的时间值
fmt.Println("the 2")
fmt.Println("the 3")
<-tc //阻塞中,直到取出tc管道里的数据
fmt.Println("the 4")
//【结果】立即打印123,等了1秒不到一点点的时间,打印了4,结束
//打印the 1后,获得了一个空管道,这个管道1秒后会有数据进来
//打印the 2,(这里可以做更多事情)
//打印the 3
//等待,直到可以取出管道的数据(取出数据的时间与获得tc管道的时间正好差1秒钟)
//打印the 4

随机推荐

  1. Iris_xorm

    xorm表基本操作及高级操作 表结构基本操作 对表结构的操作最常见的操作是查询和统计相关的方法,我们首先来看相关实现: 条件查询 Id值查询:参数接收主键字段的值.例如: var user User ...

  2. 【Python】数值运算函数

  3. docker互联机制实现便捷互访

    何为容器互联 & 为何需要容器互联 容器的互联是一种让多个容器中应用进行快速交互的方式,它会在源和接收容器之间创建连接关系,接收容器可以通过容器名快速访问到源容器,而不用指定具体的 ip 地址 ...

  4. JS-对象常用方法整理

    查看对象的方法,继续控制台输出,如图: hasOwnProperty():返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键). let object1 = new Obje ...

  5. form中把图片设为按钮

    提交按钮sumbit <input type="image" src="图片路径">//type="image"默认是sumbi ...

  6. DP_1d1d诗人小G

    显然:f[i]=min{f[j]+(s[i]-s[j]+i-j-1-l)^p} 此题可以基于决策单调优化 证明,反正我现在不打算学 实际上就是双向队列 不停弹出队头的元素,直到当前位置在队头元素最优的 ...

  7. 服务器安装mysql后配置远程访问权限

    #登录mysql mysql -uroot -p: use mysql: #所有ip能访问 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED B ...

  8. drf框架,restful接口规范,源码分析

    复习 """ 1.vue如果控制html 在html中设置挂载点.导入vue.js环境.创建Vue对象与挂载点绑定 2.vue是渐进式js框架 3.vue指令 {{ }} ...

  9. 小白艰难的Python图像的绘制

    1.贪吃蛇 代码: import turtle turtle.setup(650,350) turtle.penup() turtle.fd(-250) turtle.pendown() turtle ...

  10. 10day rpm简单用法qa ql qf "`"用法

    查看软件是否安装: [root@oldboyedu ~]# rpm -qa sl -q表示查询 -a表示所有 sl-5.02-1.el7.x86_64 查看软件包中有哪些信息 [root@oldboy ...