`
lanxiaoshuang
  • 浏览: 6742 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Groovy笔记5

阅读更多
An assignment is not allowed as a top-level expression in an if test.


The restriction of assignments from being used in top-level Boolean expres-
sions applies only to if and not to other control structures such as while.


三元操作符  expr ? expr : expr


The GDK enhances Class by adding an isCase method that
tests the candidate with isInstance.


The isCase method on closures passes the candidate into the closure and
returns the result of the closure call coerced to a Boolean.


The isCase method on patterns applies its test to the toString value
of the argument.


A classifier is eligible as a switch case if it implements the isCase method.
In other words, a Groovy switch like
    switch (candidate) {
        case classifier1  : handle1()         ; break
        case classifier2  : handle2()         ; break
                          : handleDefault()
        default
    }
is roughly equivalent (beside the fallthrough and exit handling) to
    if      (classifier1.isCase(candidate)) handle1()
    else if (classifier2.isCase(candidate)) handle2()
             handleDefault()
    else



Table 6.2  Implementations of isCase for switch
  Class             a.isCase(b) implemented as

  Object            a.equals(b)
  Class             a.isInstance(b)
  Collection        a.contains(b)
  Range             a.contains(b)
  Pattern           a.matcher(b.toString()).matches()
  String            (a==null && b==null) || a.equals(b)
  Closure           a.call(b)

The isCase method is also used with grep on collections such that
collection.grep(classifier) returns a collection of all items that are
a case of that classifier.



groovy中只有while和for两种循环控制结构


It is more Groovy to treat a string as a collection of characters.


The return keyword is optional for the last expression in a method or
closure. If it is omitted, the return value is that of the last expression.
Methods with explicit return type void do not return a value, whereas closures always
return a value.


Groovy和Java的异常处理机制的最大不同之处在于Groovy允许在方法声明时忽略受控异常的声明


尽管Groovy的其他部分对类型的声明是可选的但是在catch表达式中异常的类型声明是强制的






分享到:
评论

相关推荐

    Groovy学习笔记 PDF版

    在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...

    Groovy 学习笔记

    5. **运算符重载和方法默认参数**: Groovy允许操作符重载和方法定义默认参数,增强了代码的可读性和灵活性。 **二、Groovy与Java的交互** 1. **类和接口**: Groovy可以创建Java兼容的类和接口,因此可以直接与Java...

    Groovy学习笔记.pdf

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。

    Groovy学习笔记

    ### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...

    groovy学习笔记

    以下是对Groovy学习笔记各章节的详细解释: ### 第1章:数字和字符串 在Groovy中,所有的数字都是Object类型的,这意味着你可以在对象上调用方法。例如,你可以直接在数字上使用加减乘除等运算符,如`12 + 8`。...

    Java整合Groovy脚本笔记

    Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合Groovy脚本,Java整合Groovy脚本Java整合...

    Groovy学习笔记 Struts2集成--Groovy类作为Action

    通过阅读文章《Groovy学习笔记 Struts2集成--Groovy类作为Action》,你可以更深入地了解如何在实际项目中利用Groovy的特性来优化Struts2应用。提供的压缩包文件`struts2-groovy-plugin`可能包含了Struts2 Groovy插件...

    Groovy_笔记

    根据给定的文件信息,以下是对Groovy编程语言中几个关键知识点的深入解析: ### 多线程在Groovy中的运用 在Groovy中,线程的创建与启动非常直观,可以通过构造`Thread`对象并传入一个闭包(Closure)来实现。闭包...

    读书笔记:Groovy程序设计.zip

    读书笔记:Groovy程序设计

    读书笔记:Groovy 程序设计学习.zip

    读书笔记:Groovy 程序设计学习

    Groovy语法&Gradle配置学习笔记

    5. **操作符重载**:Groovy允许自定义操作符,如`+`、`-`等,以实现自定义的逻辑。 6. **元编程**:Groovy具有强大的元编程能力,可以在运行时修改类或对象的行为,实现动态扩展。 Gradle的特点和关键概念包括: ...

    Scala、Groovy++、Stackless Python、Erlang 学习笔记及分享

    Groovy是另一种基于JVM的动态编程语言,它的语法简洁,易于阅读和编写。Groovy与Java高度互操作,可以在现有的Java项目中无缝集成。Groovy的优点在于它支持闭包和元编程,使得代码更加简洁和可扩展。 Stackless ...

    java调用脚本语言笔记(jython,jruby,groovy)

    本文将深入探讨如何在Java中调用三种流行的脚本语言:Jython、JRuby和Groovy。 ### Jython Jython是Python的一个Java实现,它允许Java开发者利用Python的强大语法和丰富的库。要使用Jython,首先需要在项目中引入...

    用Groovy实现DSL领域定义语言

    本系列文章是从原著《Groovy For Domain-Specific Languages》(原作者: Fergal Dearle)中翻译而来,从中加入了一些本人自己的读书笔记和理解。本系列文章不为任何商业目的,只为更好的传播 groovy dsl 技术知识。...

    读书笔记:函数式编程 scala,java8,groovy 学习.zip

    读书笔记:函数式编程 scala,java8,groovy 学习

    sonar-groovy:Groovy的SonarQube插件

    在项目的根目录下创建一个sonar-project.properties文件从项目根目录运行sonar-scanner命令单击分析结尾处提供的链接,以在SonarQube UI中浏览项目的质量笔记CodeNarc :可以通过设置sonar.groovy.codenarc.repor

    Groovy-chenyun2000-mht.rar

    在Groovy-chenyun2000-mht.rar压缩包里的"MHT"文件可能是Groovy或Grails相关的教程、讲座笔记或者案例研究,用户可以离线阅读这些资料,深入理解Groovy语言和Grails框架。 Groovy的主要特点包括: 1. **简洁语法**...

    Jenkins笔记笔记笔记

    【Jenkins笔记笔记笔记】 Jenkins 是一个开源的持续集成(CI)服务器,它使得开发者能够在软件开发过程中实现自动化构建、测试和部署。这个工具在IT行业中被广泛使用,尤其在敏捷开发和DevOps实践中扮演着重要角色...

Global site tag (gtag.js) - Google Analytics