为了账号安全,请及时绑定邮箱和手机立即绑定

内置Go中“必备”模式的帮助器

内置Go中“必备”模式的帮助器

Go
蛊毒传说 2021-05-07 15:13:16
是否有更内置的包装器来使函数返回(X, error)成功执行或中止的功能,例如regexp.MustCompile?我说的是这样的东西,但更多的是“内置”的。
查看完整描述

3 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

我认为内置机制没有意义,因为您可以很好地以各种方式处理非nil错误,就像模板包本身中的示例一样:参见“ text/template/examplefiles_test.go”,说明了' err'的2种不同用法:


// Here starts the example proper.

    // T0.tmpl is the first name matched, so it becomes the starting template,

    // the value returned by ParseGlob.

    tmpl := template.Must(template.ParseGlob(pattern))


    err := tmpl.Execute(os.Stdout, nil)

    if err != nil {

        log.Fatalf("template execution: %s", err)

    }

    // Output:

    // T0 invokes T1: (T1 invokes T2: (This is T2))

在辅助函数的特定情况下(*Template) Must(),将错误转换为异常(紧急)并非总是适用于所有go程序的正确方法,并且涵盖所有可能的处理错误的方式将意味着创建很多“内置”机制。


查看完整回答
反对 回复 2021-05-17
  • 3 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信