1、Timer的使用

示例: #创建一个定时器,设置时间为2s,2s后,往time通道写内容(当前时间)

package main

import (
"fmt"
"time"
) //验证time.NewTimer(),时间到了,只会响应一次
func main() {
timer := time.NewTimer(1 * time.Second) for {
<-timer.C
fmt.Println("时间到")
}
} func main01() {
//创建一个定时器,设置时间为2s,2s后,往time通道写内容(当前时间)
timer := time.NewTimer(2 * time.Second)
fmt.Println("当前时间:", time.Now()) //2s后,往timer.C写数据,有数据后,就可以读取
t := <-timer.C //channel没有数据前后阻塞
fmt.Println("t = ", t)
}

执行结果:

时间到
fatal error: all goroutines are asleep - deadlock! // goroutine 1 [chan receive]:
main.main()
D:/GoFiles/src/hello_01/mai1.go:13 +0x54

  

go语言之进阶篇定时器Timer的使用的更多相关文章

  1. go语言之进阶篇定时器重置

    1.定时器重置 示例: package main import ( "fmt" "time" ) func main() { timer := time.New ...

  2. go语言之进阶篇定时器停止

    1.定时器停止 示例: package main import ( "fmt" "time" ) func main() { timer := time.New ...

  3. go语言之进阶篇接口转换

    1.go语音之进阶篇 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Pers ...

  4. go语言之进阶篇通过select实现斐波那契数列

    一.select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动. select的用法与switch语言非常类似,由select开始一个新的选择块,每个选 ...

  5. go语言之进阶篇创建goroutine协程

    1.goroutine是什么 goroutine是Go并行设计的核心.goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现 ...

  6. go语言之进阶篇并行和并发的区别与go语言并发优势

    1.并行和并发的概念 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行. 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在 ...

  7. go语言之进阶篇JSON处理

    一.JSON处理 JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成.尽管JSON是JavaScr ...

  8. go语言之进阶篇正则表达式

    正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具.虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活.按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符 ...

  9. go语言之进阶篇面向对象编程

    1.面向对象编程 对于面向对象编程的支持Go 语言设计得非常简洁而优雅.因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继 ...

随机推荐

  1. 命令行fuck神器

     文章 thefuck  git thefuck

  2. 1,EasyNetQ-链接到RabbitMQ

    一.链接到RabbitMQ 1,创建连接 注意不能有空格 var bus = RabbitHutch.CreateBus(“host=myServer;virtualHost=myVirtualHos ...

  3. BZOJ.2882.工艺(后缀自动机 最小表示 map)

    题目链接 BZOJ 洛谷 SAM求字符串的最小循环表示. 因为从根节点出发可以得到所有子串,所以每次找字典序最小的一个出边走即可.因为长度问题把原串再拼接在后面一次. 需要用map存转移.复杂度O(n ...

  4. QtTest模块出现控制台的原因与方案

    转到Qt安装目录下的mkspces/features目录下, 1.用记事本打开qtestlib.prf文件,注释掉CONFIG += console #CONFIG += console 2.用记事本 ...

  5. 群晖NAS简介(转)

    Synology 群晖科技(Synology )创立于 2000 年,自始便专注于打造高效能.可靠.功能丰富且绿色环保的 NAS 服务器,是全球少数几家以单纯的提供网络存储解决方案获得世界认同的华人企 ...

  6. Ubuntu · Docker —— 从入门到实践

      https://yeasy.gitbooks.io/docker_practice/appendix/repo/ubuntu.html#1604-%E7%89%88%E6%9C%AC

  7. STM32 F4 Clock Sources

    STM32 F4 Clock Sources Goal: routing clock sources to the microcontroller output pin (MCO1)    High- ...

  8. STM32F4 How do you generate complementary PWM Outputs?

    How do you generate complementary PWM Outputs? I would like to generate complementary PWM Outputs wi ...

  9. delphi 启动停止windows服务 转

    http://blog.csdn.net/haiou327/article/details/6106233 不用cmd用delphi如何实现启动停止windows服务建议参考一下Delphi的Sckt ...

  10. x86 TargetPlatform with XBAPs

    I've got a XAML Browser Hosted Application (XBAP) project that has a dependency on another project t ...