44. goroutine、channel、time的例子

格式化時(shí)間樣式,利用 goroutine 實(shí)現(xiàn)獲取和格式化當(dāng)前時(shí)間,并且通過 channel 返回到主函數(shù)并打印出來。
在 go 語言中,時(shí)間格式化有一個(gè)標(biāo)準(zhǔn)時(shí)間必須記住 2006-01-02 15:04:05 -0700,為什么是這個(gè)時(shí)間呢?我們換個(gè)樣式來看一下 “01-02 03:04:05 pm 2006 -0700”,這就是 1234567??!當(dāng)然,-0700說的是時(shí)區(qū)。
格式化的寫法如下

tn := time.Now().Format("2006年01月02日 15點(diǎn)04分05秒.0000000 時(shí)區(qū)-0700")

為了實(shí)現(xiàn) goroutine ,我們準(zhǔn)備一個(gè)函數(shù),用通道作為參數(shù)。

func timenow(ch chan string)  {
    tn := time.Now().Format("2006年01月02日 15點(diǎn)04分05秒.0000000 時(shí)區(qū)-0700")
    ch <- tn
}

在主函數(shù)中,建立一個(gè)通道,并且寫一個(gè) 10 次的 for 循環(huán)來執(zhí)行 timenow 函數(shù)。為了讓時(shí)間有一個(gè)間隔,每次循環(huán),我們間隔 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點(diǎn)04分05秒.0000000 時(shí)區(qū)-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)
    }
}

運(yùn)行結(jié)果

2017年09月02日 11點(diǎn)49分51秒.3027569 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分51秒.8839153 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分52秒.3845286 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分52秒.8851379 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分53秒.3851748 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分53秒.8855677 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分54秒.3858873 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分54秒.8861271 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分55秒.3868477 時(shí)區(qū)+0800
2017年09月02日 11點(diǎn)49分55秒.8874858 時(shí)區(qū)+0800
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容