去时间包常量而不是数字

时间:2014-07-08 17:47:25

标签: go

是否可以在Format func

中使用常量而不是数字
time.Unix(1392899576, 0).Format(stdLongYear +"/"+ stdZeroMonth +"/"+ stdZeroDay)

而不是

time.Unix(1392899576, 0).Format("2006/01/02")

1 个答案:

答案 0 :(得分:2)

不,你不能。这些常量以小写字母开头,因此不会导出。

模仿该包的唯一方法是复制它或者在你自己的包中重新创建常量,如下所示:

package main

import (
    "fmt"
    "time"
)

const (
    stdLongYear  = "2006"
    stdZeroMonth = "01"
    stdZeroDay   = "02"
)

func main() {
    fmt.Println(time.Unix(1392899576, 0).Format(stdLongYear + "/" + stdZeroMonth + "/" + stdZeroDay))
}

http://play.golang.org/p/wTwMLbheCM