一直觉得Go没有一个好用的模板引擎,渲染HTML的时候特别痛苦,总有一种有力气却使不出来的感觉。模板引擎一般有两种实现方式,一种是解析HTML语法树,然后根据一定的规则动态的拼接,另外一种是把模板预先生成代码,渲染模板时调用相关的函数即可。Go内置的template包使用的是第一种方式,不过很多开源项目使用的是第二种方式,比如quicktemplate、gorazor等。不过这两个可能由于设计的问题,都没有实现模板继承和模板include,而且有的语法个人觉得不是太优雅。所以我想要一个Go模板,它具备以下特性:原生的Golang语法支持模板植入代码支持模板