gpt4 book ai didi

戈朗 : composite literal uses unkeyed fields

转载 作者:IT王子 更新时间:2023-10-29 02:29:02 26 4
gpt4 key购买 nike

我得到了以下代码:

package catalog
...
type Time time.Time
func (t Time) MarshalJSON() ([]byte, error) {
got := time.Time(t)
stamp := fmt.Sprintf("\"%s\"", got.In(time.UTC).Format("2006-01-02T15:04:05.000Z"))
return []byte(stamp), nil
}

我正在尝试像这样使用它:

package main

func main() {
...
t := *a.StartTime <<== This returns a time.Time
t2 := catalog.Time{t}
}

而且,我收到以下错误:

catalog.Time composite literal uses unkeyed fields
implicit assignment of unexported field 'wall' in catalog.Time literal
cannot use t (type time.Time) as type uint64 in field value
too few values in structure initializer
import (catalog ".../go-catalog-types.git")

我也尝试过:t2 := catalog.Time{Time: t} 和其他几种变体。有什么建议吗?

谢谢

最佳答案

我觉得你想做

t2 := catalog.Time(t)

您已将 catalog.Time 声明为具有 underlying type 的类型time.Time,因此要在它们之间进行转换,您需要执行 catalog.Time(time.Time)

目前你写的好像你有一个 embedded type , 这只有在你有

type Time struct {
time.Time
}

https://play.golang.org/p/zbwf6ZfvX3

关于戈朗 : composite literal uses unkeyed fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47148391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com