美文网首页
groovy学习中的疑问

groovy学习中的疑问

作者: 许先森的许 | 来源:发表于2016-06-30 10:43 被阅读23次

def number =1def eagerGString ="value == ${number}"def lazyGString ="value == ${ -> number }"asserteagerGString =="value == 1"assertlazyGString =="value == 1"number =2asserteagerGString =="value == 1"assertlazyGString =="value == 2"

可以看见,eagerGString是普通的双引号插值站位替换,lazyGString是双引号闭包插值替换,我们可以发现在number变为2以后他们的运算结果就有了差异。可以明显推理到结论,一个普通插值表达式值替换实际是在GString创建的时刻,一个包含闭包的表达式由于延迟运算调运toString()方法,所以会产生一个新的字符串值。

原文以上。

然后我验证:

为什么说这个是闭包的延迟运算导致  我怎么看像是响应式

相关文章

  • groovy学习中的疑问

    def number =1def eagerGString ="value == ${number}"def la...

  • Groovy相关概念性东西

    参考文章:Groovy学习 1、Groovy的变量和方法声明 :   在Groovy中, 通过def关键字来声明变...

  • Groovy语法简介

    Groovy简单语法: Groovy中的闭包:

  • 详解 groovy 的闭包(上)

    groovy 的闭包特点 在 groovy 中的闭包。groovy 中的闭包是一个开放的匿名代码块,可以接受参数,...

  • Gradle系列之Groovy基础篇

    上一篇学习了 Gradle 的入门知识,Gradle 基于 Groovy,今天学习一下 Groovy 的基础知识,...

  • Gradle开发-Groovy字符串

    ##Groovy 字符串 前言:因为笔者本身就有 Java 基础,因此在学习 Groovy 时,主要学习 Groo...

  • Groovy学习之-Groovy Development Kit

    Groovy学习目录-传送门 Groovy为I/O操作提供了许多帮助方法,虽然你可以在Groovy中用标准Java...

  • groovy学习

    因为公司最近在做CI的东西,需要用到grovvy来做支撑,所以要学习groovy了,还是从基础的教程摘起,这次是 ...

  • Groovy学习

    学习自:http://www.infoq.com/cn/articles/android-in-depth-gra...

  • groovy学习

    groovy高效特性1 可选的类型定义,变量类型可以不用定义,系统自动识别def version = 1 2 as...

网友评论

      本文标题:groovy学习中的疑问

      本文链接:https://www.haomeiwen.com/subject/cpnxjttx.html