当前位置: 首页 > news >正文

重庆秀山网站建设费用360免费自助建站

重庆秀山网站建设费用,360免费自助建站,搜索引擎seo外包,万网怎样做网站调试目录 解释器模式#xff08;Interpreter Pattern#xff09; 解释器模式的核心角色#xff1a; 优缺点 代码实现 解释器模式#xff08;Interpreter Pattern#xff09; 解释器模式#xff08;Interpreter Pattern#xff09;提供了评估语言的语法或表达式的方式Interpreter Pattern 解释器模式的核心角色 优缺点 代码实现 解释器模式Interpreter Pattern 解释器模式Interpreter Pattern提供了评估语言的语法或表达式的方式它属于行为型模式。这种模式实现了一个表达式接口该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 解释器模式的核心角色 抽象表达式Abstract Expression定义了抽象的解释器接口用来解释语言中的元素可以是终止符也可以是非终止符。终止符表达式Terminal Expression实现了抽象表达式中的解释器接口用来存储语言中的终止符它们不需要再次解释通常会返回具体的结果。非终止符表达式Nonterminal Expression也实现了抽象表达式中的解释器接口用来存储语言中的非终止符。上下文Context存储解释器解释的信息并调用解释器进行解释。 优缺点 1优点 可扩展性比较好灵活。增加了新的解释表达式的方式。易于实现简单文法。 2缺点 可利用场景比较少。对于复杂的文法比较难维护。解释器模式会引起类膨胀。解释器模式采用递归调用方法。 代码实现 package mainimport (fmtstrconvstrings )// 解释器接口 type Node interface {Interpret() int //解释方法 }// 数据节点 type ValNode struct {val int }func (vn *ValNode) Interpret() int {return vn.val }// 加法节点 type AddNode struct {left, right Node }func (an *AddNode) Interpret() int {return an.left.Interpret() an.right.Interpret() }// 减法节点 type SubNode struct {left, right Node }func (an *SubNode) Interpret() int {return an.left.Interpret() - an.right.Interpret() }// 解释对象 type Parser struct {exp []string //表达式index int //索引prev Node //前序节点 }func (p *Parser) newValNode() Node { //执行数据操作v, _ : strconv.Atoi(p.exp[p.index])p.indexreturn ValNode{val: v} } func (p *Parser) newAddNode() Node { //执行加法操作( )p.indexreturn AddNode{left: p.prev,right: p.newValNode(),} } func (p *Parser) newSubNode() Node { //执行减法操作( - )p.indexreturn SubNode{left: p.prev,right: p.newValNode(),} } func (p *Parser) Result() Node { //返回结果return p.prev } func (p *Parser) Parse(exp string) { //对表达式进行解析p.exp strings.Split(exp, ) //通过空格分割for {if p.index len(p.exp) {return}switch p.exp[p.index] {case :p.prev p.newAddNode()case -:p.prev p.newSubNode()default:p.prev p.newValNode()}} } func main() {p : Parser{}p.Parse(1 2 3 - 4 10) //是通过空格进行解释的fmt.Println(p.Result().Interpret()) }
http://www.dnsts.com.cn/news/26403.html

相关文章:

  • 产品网站怎么做超链接LAMP环境wordpress放在哪里
  • 学校网站怎么建设网站建设公司石家庄
  • 华为公司网站建设案例分析建设一站式服务网站
  • 建设多语言网站小程序页面设计报价
  • 获取网页 代码 做网站asp.net做电商网站页面
  • 深圳市门户网站建设品牌asp国外网站
  • 电视台做网站还是APP设计坞网站怎么样
  • 个人网站用什么域名张家口网站建设价格
  • 论坛申请网站备案前置审批WordPress分离
  • 建设部勘察设计网站微信公众号登录失败
  • 家装网站模板下载国际交流网站建设方案
  • 石家庄网站建设策略百度下载安装到手机
  • 网站开发感想中国纪检监察报
  • 哈尔滨做平台网站平台公司哪家好徐汇网站开发培训
  • 泰安网站设计公司惠州宣传片制作公司
  • 义乌网站建设制作商国家高新技术企业查询网站
  • 网站是否正常安阳网络公司
  • c2c电子商务网站用到的技术网络公关什么意思
  • 网站开发系统需求说明书怎么做婚恋网站
  • 网站正在建设中 htmlamh wordpress 伪静态
  • 东莞网站建设外贸哪里有html5网站建设
  • 廊坊网站建设公司哪家好网站改标题降权
  • 宁晋seo网站优化排名wordpress 自定义面板
  • 上海金山网站建设公司电子网站商业策划书
  • 做网站制作大概多少钱厦门网站建设合同
  • 正规的南昌网站建设网站pc端建设
  • 旅游网站内容规划网站调用微信js视频
  • python做电子商务网站lovephoto wordpress
  • 网站做seo有什么作用广告策划公司
  • 珠海市官网网站建设价格网站建设合同英文