[Golang]如何在golang程序中自動獲取編譯時間的方法

在程序發佈之後,經常需要識別程序的版本號,來確定一些問題是否因爲程序未更新造成的,其中通過在程序啓動日誌中輸出編譯時間是最有效方法。
在golang中沒有C語言__FILE__,__LINE__,__DATE__,__TIME__這些好用的編譯期常量給我們使用,好在golang提供了強大的cgo在go代碼中嵌入C代碼的方法,可以實現這個需求。
廢話不多說,直接上代碼:

 
package main



/#

const char* build_time(void)

{

    static const char* psz_build_time = "["__DATE__ "  " __TIME__ "]";

    return psz_build_time;

}

#/


import "C"




import (

    "fmt"

)




var (

    buildTime = C.GoString(C.build_time())

)




func BuildTime() string {

    return buildTime

}




func main() {

    fmt.Printf("Build time is: %s\n", BuildTime())

}



//Output:
//Build time is: [Jan  2 2014  23:02:20]
發佈了23 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章