登录
首页 >  Golang >  Go问答

这个 Zerolog 钩子为何被认定为无效的分配?

来源:stackoverflow

时间:2024-02-25 19:24:15 440浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《这个 Zerolog 钩子为何被认定为无效的分配?》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我想将 zerolog 消息存储在一个切片中,以便轻松访问最后 n 条消息。 memorylog.messages 保持为 null,并且 golangci-lint 抱怨 in 有效分配给字段 memorylog.messages。我对 go 还是个新手,感觉好像错过了一些明显的东西,但我就是无法弄清楚。

type memorylog struct {
    config   config
    messages []string
}

func (memorylog memorylog) run(event *zerolog.event, level zerolog.level, message string) {
    memorylog.messages = append([]string{message}, memorylog.messages...)

    if len(memorylog.messages) > memorylog.config.memorylogmaxitems {
        memorylog.messages = memorylog.messages[:memorylog.config.memorylogmaxitems]
    }
}
memoryLog := memoryLog{config: config}
logger := log.Hook(memoryLog)

正确答案


感谢您的帮助,我让它正常工作:

func (log *memorylog) run(event *zerolog.event, level zerolog.level, message string) {
    //...
}
logger := log.Hook(&memoryLog)

到这里,我们也就讲完了《这个 Zerolog 钩子为何被认定为无效的分配?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>