goroutine、channel、time的例子

  格式化时间样式,利用goroutine实现获取和格式化当前时间,并通过channel返回到主函数并打印出来。

  在go语言中,时间格式化有一个标准时间必须记住2006-01-02 15:04:05 -0700,为什么是这个时间呢?我们换个样式来看一下“01-02 03:04:05 pm 2006 -0700”,这就是1234567啊!当然,-0700说的是时区。

 格式化的写法如下

tn := time.Now().Format("2006年01月02日 15点04分05秒.0000000 时区-0700")

 为了实现goroutine,我们准备一个函数,用通道作为参数。

func timenow(ch chan string)  {
    tn := time.Now().Format("2006年01月02日 15点04分05秒.0000000 时区-0700")
    ch <- tn
}

 在主函数中,建立一个通道,并且写一个10次的for循环来执行timenow函数。为了让时间有一个间隔,每次循环,我们间隔0.5秒。

ch := make(chan string)
for i := 0; i < 10; i++{
    go timenow(ch)
    fmt.Println(<-ch)
    time.Sleep(500*time.Millisecond)
}


完整代码

package main

import (
    "time"
    "fmt"
)

func timenow(ch chan string)  {
    tn := time.Now().Format("2006年01月02日 15点04分05秒.0000000 时区-0700")
    ch <- tn
}
func main() {
    ch := make(chan string)
    for i := 0; i < 10; i++{
        go timenow(ch)
        fmt.Println(<-ch)
        time.Sleep(500*time.Millisecond)
    }
}

 

参考:

https://www.yuque.com/docs/share/759c8d88-9936-4dc2-86d0-aaccaecdb5c1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值