我认为内置机制没有意义,因为您可以很好地以各种方式处理非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程序的正确方法,并且涵盖所有可能的处理错误的方式将意味着创建很多“内置”机制。