In your example, you defined Date as a variable, and then tried to use it as a type.
I guess you want to do something like this.
package main import ( "fmt" "os" "time" ) type Date int64 type Account struct { domain string username string created Date } func NewDate(date string) (Date, os.Error) { // date format: 2006-01-12T06:06:06Z if len(date) == 0 { // default to today today := time.UTC() date = today.Format(time.ISO8601) } t, err := time.Parse(time.ISO8601, date) if err != nil { return 0, err } return Date(t.Seconds()), err } func (date Date) String() string { t := time.SecondsToUTC(int64(date)) return t.Format(time.ISO8601) } func main() { var account Account date := "2006-01-12T06:06:06Z" created, err := NewDate(date) if err == nil { account.created = created } else { fmt.Println(err.String()) } fmt.Println(account.created) }
source share