我正在编写golang程序,并使用regexp.MustComplile函数。但是在您不知道的某个时候可能会感到恐慌
就像regexp.MustCompile("Expressions John.Smith will cause panic but you don't known").
我想在编译过程中出错,而不是在运行时。
有什么方法可以使该报告在编译过程中出错?
感谢您的帮助
答案 0 :(得分:1)
regexp.MustCompile()
是一个只能在运行时运行的函数,因此您不能使用它产生编译时错误。您最多可以做的是从包init()
函数中调用它(或在全局变量初始化中使用它),这样就可以在程序开始时及早发现错误。
通常,您不能(在编译时)验证字符串(无论它们是否满足您的自定义,任意规则)。
最佳实践是为这些内容编写单元测试,这些单元测试应始终作为CI流程的一部分运行,因此这些内容在代码投入生产之前就会浮出水面。