首页 > golang是如何实现一个模版引擎的?

golang是如何实现一个模版引擎的?

作为一个PHP程序员, PHP提供了太多的便利的东西, 导致很多东西都是一知半解.

毕竟PHP是一种弱类型的语言, 而且自带模版语言属性, 因此在实现PHP模版来说就是一个简单的正则替换而已, 没有任何难度.

但是在强类型语言中, 要实现一个模版引擎感觉总是无从下手, 看过pongo2的代码, 基本和天书似得, 不知道有没有热心的朋友能帮忙解答下, 或则说是能简单说说原理. 希望也别太简单的一笔带过.

多谢各位


模板解析成Node Tree,然后对Node Tree求值成string
比如一个For循环整个就是一个Node
https://github.com/flosch/pongo2/blob/master/tags_for.go
相当于搞了一个新的语言,写了一个解释型的执行器

【热门文章】
【热门文章】