GO语法简单小结(二)
1、续断器ticker
Go提供了循环多次的执行某一任务的工具,续断器,实质是单向通道,time.结构体类型中有一个time.Time类型的单向chan.
可以简单理解为在特定的时间间隔来重复执行一些任务。
代码如下:
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.NewTicker(2*time.Second)
t2 := time.NewTicker(10*time.Second)
for {
select {
case <- t1.C:
fmt.Println(" t1 t1 ticker")
case <- t2.C:
fmt.Println(" t2 t2 ticker")
}
}
}
输出如下:
t1 t1 ticker
t1 t1 ticker
t1 t1 ticker
t1 t1 ticker
t1 t1 ticker
t2 t2 ticker
t1 t1 ticker
t1 t1 ticker
t1 t1 ticker
t1 t1 ticker
t1 t1 ticker
t2 t2 ticker
2 iota 常量计数器
iota是golang语言的常量计数器,只能在常量的表达式中使用。
iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。
使用iota能简化定义,在定义枚举时很有用。
https://www.jianshu.com/p/08d6a4216e96
枚举:在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 [1] 是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。