golang设定时间值.时间
发布时间:2020-12-16 19:26:28 所属栏目:大数据 来源:网络整理
导读:package main import ( "fmt" "reflect" ) func main() { type t struct { N int } var n = t{42} fmt.Println(n.N) reflect.ValueOf(n).Elem().FieldByName("N").SetInt(7) fmt.Println(n.N) } 下面的编程工作的问题是如何用time.Time类型像这样做 package
package main import ( "fmt" "reflect" ) func main() { type t struct { N int } var n = t{42} fmt.Println(n.N) reflect.ValueOf(&n).Elem().FieldByName("N").SetInt(7) fmt.Println(n.N) } 下面的编程工作的问题是如何用time.Time类型像这样做 package main import ( "fmt" "reflect" ) func main() { type t struct { N time.Time } var n = t{ time.Now() } fmt.Println(n.N) reflect.ValueOf(&n).Elem().FieldByName("N"). (what func) (SetInt(7) is only for int) // there is not SetTime fmt.Println(n.N) } 这很重要,因为我打算在通用结构上使用它 我真的很感谢你对此的帮助
只需使用您要设置的时间的reflect.Value调用Set():
package main import ( "fmt" "reflect" "time" ) func main() { type t struct { N time.Time } var n = t{time.Now()} fmt.Println(n.N) //create a timestamp in the future ft := time.Now().Add(time.Second*3600) //set with reflection reflect.ValueOf(&n).Elem().FieldByName("N").Set(reflect.ValueOf(ft)) fmt.Println(n.N) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |