首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Go写成的氦

用Go写成的氦
EN

Code Review用户
提问于 2019-02-20 21:35:43
回答 1查看 82关注 0票数 2

帮我检查代码。氦是我最喜欢的项目,用歌朗写的。氦是一个小型的、简单的、模块化的构造函数,带有一些预先构建的组件.

https://github.com/im-kulikov/helium

如何使用它的简单示例

代码语言:javascript
复制
package main

import (
    "context"

    "github.com/davecgh/go-spew/spew"
    "github.com/im-kulikov/helium"
    "github.com/im-kulikov/helium/grace"
    "github.com/im-kulikov/helium/logger"
    "github.com/im-kulikov/helium/module"
    "github.com/im-kulikov/helium/settings"
    "github.com/spf13/viper"
)

var mod = module.New(newApp).
    Append(
        settings.Module,
        logger.Module,
        grace.Module)

// App struct
type App struct {
    v *viper.Viper
}

func newApp(v *viper.Viper) helium.App {
    return &App{v: v}
}

// Run application
func (a App) Run(ctx context.Context) error {
    spew.Dump(a.v.AllSettings())

    return nil
}

func main() {
    h, err := helium.New(&helium.Settings{
        Prefix:       "demo",
        Name:         "demo",
        BuildTime:    "now",
        BuildVersion: "dev",
    }, mod)
    helium.Catch(err)
    helium.Catch(h.Run())
}
EN

回答 1

Code Review用户

发布于 2019-02-27 23:58:45

一些细节;在Run中:

代码语言:javascript
复制
// Run application
func (a App) Run(ctx context.Context) error {
    spew.Dump(a.v.AllSettings())

    return nil
}

error将始终为空。根据去。

func Dump(a ...interface{})

Dump什么也不回。因此,您应该能够从您的签名中删除error,或者b.-在a.v上做一些明智的检查,例如,这些元素不是nil/等等。

票数 1
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/213915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档