加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读