简介:google ctemplate:简单易用的文字模板(转载)
2016-01-05 10:24
615 查看
转自:http://blog.csdn.net/aladdina/article/details/4531736
CTemplate 是一个简单实用、功能强大的文字模板(template language),适用于使用C++语言开发的应用程序。
其解决的主要问题是将文字表达和逻辑分离开来:
文字模板解决如何用合适的文字和形式来表达的问题,而逻辑问题则由文字模板的调用者在源代码中完成。
下面有一个简单的例子让我们初步了解其概念,介绍了如何在你的程序中应用CTemplate:
首先创建一个模板文件,命名为example.tpl,以文本方式输入以下内容:
{{ NAME }}你好 ,
恭喜你中奖了,奖金总额是:$ {{ VALUE }}!
{{ #IN_CA}}您应缴纳的税金总额为: ${{TAXED_VALUE}}。 {{/IN_CA}}
在C++程序中我们可以这样调用:
CTemplate 是一个简单实用、功能强大的文字模板(template language),适用于使用C++语言开发的应用程序。
其解决的主要问题是将文字表达和逻辑分离开来:
文字模板解决如何用合适的文字和形式来表达的问题,而逻辑问题则由文字模板的调用者在源代码中完成。
下面有一个简单的例子让我们初步了解其概念,介绍了如何在你的程序中应用CTemplate:
首先创建一个模板文件,命名为example.tpl,以文本方式输入以下内容:
{{ NAME }}你好 ,
恭喜你中奖了,奖金总额是:$ {{ VALUE }}!
{{ #IN_CA}}您应缴纳的税金总额为: ${{TAXED_VALUE}}。 {{/IN_CA}}
在C++程序中我们可以这样调用:
#include <stdlib.h> #include <string> #include <iostream> #include <google/template.h> int main ( int argc , char ** argv ) { google :: TemplateDictionary dict ( "example" ); dict . SetValue ( "NAME" , "John Smith" ); int winnings = rand () % 100000 ; dict . SetIntValue ( "VALUE" , winnings ); dict . SetFormattedValue ( "TAXED_VALUE" , "%.2f" , winnings * 0.83 ); // For now, assume everyone lives in CA. // (Try running the program with a 0 here instead!) if ( 1 ) { dict . ShowSection ( "IN_CA" ); } google :: Template * tpl = google :: Template :: GetTemplate ( "example.tpl" , google :: DO_NOT_STRIP ); std :: string output ; tpl -> Expand (& output , & dict ); std :: cout << output ; return 0 ; }
相关文章推荐
- golang简单实现银行家算法
- django零开始
- 如何去掉WordPress链接中category
- ZXingObjC 开源框架 生成二维码
- Moore’s Voting Algorithm
- Django更新后的配置修改
- django-simple-captcha 使用 以及添加动态ajax刷新验证
- Django开发博客(三)——在新的页面展示文章
- 落叶枫桥LOGO
- 落叶枫桥LOGO
- 初学django2-基于类的视图中获取URL参数
- 层次聚类 Hierarchical Clustering Algorithms
- RemovedInDjango110Warning
- 利用 Django REST framework 编写 RESTful API
- 使用leangoo实现多泳道任务看板
- 在WordPress中加入Google搜索功能的简单步骤讲解
- Google Map开发系列(三)——加载谷歌地图API的URL详细解读
- rk3288添加google_市场和map
- golang使用 mongo
- Google搜索市场份额跌至64%:捆绑销售依然是流量大头