groovy语言

大小:48.49M类别:编程其它

官方安全无插件纠错

  • 更新时间2023-10-24
  • 版本v3.0.0
  • 系统Pc
  • 语言简体中文
groovy是一种基于JVM的开发语言,也是一种功能强大的可选类型和动态语言,具有静态类型和静态编译功能,适用于java品台,旨在通过简洁,熟悉且易于学习的语法提高开发人员的工作效率,该语言还结合了Python、Ruby和Smalltalk的许多强大的特性。
特别是其运行在JVM上的特性,使得groovy能够使用其他java语言编写的库,换句话说,它可以顺利的和任何java程序集成,并立即为用户的应用程序提供强大的功能,包括脚本功能,领域特定语言创作,运行时和编译时原程序设计和功能编程等等。该软件同样是JVM的一个替代语言(替代的意思是指能够在java平台上进行java程序的编程),使用方法和我们使用java代码一样,而且特别的适合于Spring的动态语言支持一起使用,是非常强大的一种多方面语言。

安装与配置

1、首先将我们的该软件解压出来放到自己常用的磁盘中,然后复制路径。
2、完成以后打开计算机的属性,点击高级系统设置。
3、然后点击环境变量,点击新建,添加变量名和变量值。变量值为用户的该软件的路径。
变量名:GROOVY_HOME
变量值:D:\groovy-2.4.9

4、然后再在变量Path中添加变量值:%GROOVY_HOME%\bin。记得用“;”隔开。
5、然后验证是否配置完毕,在开始菜单中点击运行,输入cmd,打开cmd命令行,然后输入Groovy -v回车,出现下面的画面表示成功。

语言特色

平学习曲线
简洁,可读和表达的语法,易于Java开发人员学习
平滑的Java集成
无缝和透明地集成并与Java和任何第三方库进行互操作
充满生机
Web开发,反应式应用程序,并发/异步/并行库,测试框架,构建工具,代码分析,GUI构建
强大的功能
闭包,构建器,运行时和编译时元程序设计,函数编程,类型推断和静态编译
域特定语言
灵活和可扩展的语法,高级集成和定制机制,在您的应用程序中集成可读的业务规则
脚本和测试胶
伟大的写作简洁和可维护的测试,以及所有的构建和自动化任务

主要功能

1、 构建在强大的Java语言之上 并 添加了从Python,Ruby和Smalltalk等语言中学到的 诸多特征,例如动态类型转换、闭包和元编程(metaprogramming)支持。。
2、为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零)。
3、 支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让代码变得易于阅读和维护。
4、受检查类型异常(Checked Exception)也可以不用捕获。
5、该软件拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变得非常简单。
6、在开发Web,GUI,数据库或控制台程序时 通过 减少框架性代码 大大提高了开发者的效率。
7、支持单元测试和模拟(对象),可以 简化测试。
8、无缝集成 所有已经存在的 Java对象和类库。
9、直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。[2]
10、支持函数式编程,不需要main函数。
11、一些新的运算符。
12、默认导入常用的包。
13、断言不支持jvm的-ea参数进行开关。
14、支持对对象进行布尔求值。
15、类不支持default作用域,且默认作用域为public。
16、该软件中基本类型也是对象,可以直接调用对象的方法。
动态类型
类型对于变量,属性,方法,闭包的参数以及方法的返回类型都是可有可无的,都是在给变量赋值的时候才决定它的类型, 不同的类型会在后面用到,任何类型都可以被使用,即使是基本类型 (通过自动包装(autoboxing)). 当需要时,很多类型之间的转换都会自动发生,比如在这些类型之间的转换: 字符串(String),基本类型(如int) 和类型的包装类 (如Integer)之间,可以把不同的基本类型添加到同一数组(collections)中。
闭包
闭包就是可以使用参数的代码片段,每个闭包会被编译成继承groovy.lang.Closure类的类,这个类有一个叫call方法,通过该方法可以传递参数并调用这个闭包.它们可以访问并修改在闭包创建的范围内的变量,在闭包内创建的变量在闭包被调用的范围内同样可以被引用, 闭包可以保存在变量中并被作为参数传递到方法中。

语法说明

该软件语法与Java 语言的语法很相似,虽然 该软件 的语法源于Smalltalk和Ruby这类语言的理念,但是可以将它想像成 Java 语言的一种更加简单、表达能力更强的变体。(在这点上,Ruby与该软件不同,因为它的语法与 Java 语法差异很大。)
许多 Java 开发人员喜欢该软件 代码和 Java 代码的相似性。从学习的角度看,如果知道如何编写 Java 代码,那就已经了解该软件了。该软件 和 Java 语言的主要区别是:完成同样的任务所需的 Groovy 代码比 Java 代码更少。

种类介绍

该类和java类一样,完全可以用标准java bean的语法定义一个Groovy类。但作为另一种语言,可以使用更该软件的方式定义类,这样的好处是,可以少写一半以上的javabean代码。
(1)不需public修饰符
如前面所言,该软件的默认访问修饰符就是public,如果此类成员需要public修饰,则根本不用写它。
(2)不需要类型说明
同样前面也说过,该软件也不关心变量和方法参数的具体类型。
(3)不需要getter/setter方法
在很多ide(如eclipse)早就可以为程序员自动产生getter/setter方法了,在该软件中,不需要getter/setter方法--所有类成员(如果是默认的public)根本不用通过getter/setter方法引用它们(当然,如果一定要通过getter/setter方法访问成员属性,Groovy也提供了它们)。
(4)不需要构造函数
不再需要程序员声明任何构造函数,因为实际上只需要两个构造函数(1个不带参数的默认构造函数,1个只带一个map参数的构造函数--由于是map类型,通过这个参数可以构造对象时任意初始化它的成员变量)。
(5)不需要return
该软件中,方法不需要return来返回值。
(6)不需要()
该软件中方法调用可以省略()(构造函数除外)。
该文件与类的关系
在软件中类和文件的对应关系并不像Java中那么固定(Java中一个文件只能有一个声明为public的类和其他一些非公共的类和内嵌类) 。在同一个该文件中可以包含多个public的类定义。具体规则如下:
如果在一个该文件中没有任何类定义,它将被当做script来处理,也就意味着这个文件将被透明的转换为一个Script类型的类,这个自动转换得到的类将使用原始的groovy文件名(去掉扩展名,没有包名,在default包中)作为类的名字。该文件的内容被打包进run方法,另外在新产生的类中被加入一个main方法以进行外部执行该脚本。
如果在该文件正好有一个类的定义,并且该类的名字与文件名称相同,那么这就和java中的类与文件的一一对应关系相同。
在一个该文件中可以包含多个不同可见性的类定义,并且没有强制性的要求其中有一个类的类名与文件名相同。该软件编译器会很乐于把该文件中定义的所有的类都编译成*.class文件。如果希望能够直接调用这个groovy script,比如说在使用该软件命令行或者在某个IDE中执行,那么应该在该文件中的第一个类中定义一个main方法。
在一个该文件中可以混合类的定义和脚本定义。在这种情况下,那些脚本代码将会变成直接调用的主类,所以在这种情况下不应该再定义一个和文件同名的类。
在没有经过明确的编译过程即执行时,该软件将通过文件名来查找类。在这种情况下,名称将会很重要。该软件只能找到那些和文件名匹配的类。在找到这种名字匹配的类时,找到的文件中定义的其他类将被解析并变得对该软件可见。

展开内容

类似软件

  • BowPad(代码文字编辑工具)

    9.0/2.08M

    非常独特的代码文字编辑器工具

  • GitHub电脑版

    9.0/162.51M

    github电脑版是一个面向开源及私有软件项目的托管平台,因为只支持"Git"作为唯一的版本库格式进行托管,所以称之为github。总得来说这款软件是每一位使用开源工具进行开发的用户的必备产品,除了git代码仓库托管及基本的web管理以外,还为用户提供了订阅、讨论组、文本渲

  • Hutool工具包

    9.1/2.99M

    Hutool工具包是一个Java工具集,软件类似于jodd和Apache commons lang的Java工具类。Hutool工具包对文件、流、加密解密、转码、正则、线程、XML、日期、Http客户端 等 JDK 方法进行封装,组成各种 Util 工具类。

  • android ndk开发工具(Native Development Kit)

    9.0/628.62M

    android ndk开发工具又叫:ndk、Native Development Kit。是一款专门为安卓系统设计的安卓开发环境。主要作用是为用户开发安卓原生应用起到提供框架的作用。

网友评论

0人参与,0条评论
  • 评论需审核后才能显示

同类排行

  • JDK17官方中文版

    9.0/152.42M

    JDK17官方中文版是SunMicrosystems公司专门针对于java语言打造的开发工具包,jdk的出现是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。

  • SQLmap(自动化SQL注入工具)

    9.1/7.28M

    SQLmap是一个开源免费,且非常知名的自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞,其广泛的功能和选项包括数据库指纹,枚举,数据库提权,访问目标文件系统,并在获取操作权限时执行任意命令。

  • Subclipse(Eclipse SVN插件)

    9.1/2.96M

    Eclipse是一个非常优秀的开源IDE,目前支持C/C++、JAVA、JS、PHP等语言的程序编写,Subclipse是一个针对Eclipse打造的框架和插件服务,用于通过插件组件构建开发环境。

  • Android逆向助手官方版

    9.6/15.2M

    Android逆向助手是针对安卓平台而开发的一款逆向辅助软件,也是当前apk反编译工具中非常不错的一款工具。目前支持的功能有进行apk反编译打包签名;dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等。

  • ApexSQL Generate

    9.1/51.98M

    ApexSQL Generate是一款强大的SQL Server测试数据生成器。功能上软件就为用户们提供了指定的列项和表格生成测试数据,支持预定义生成器、表格映射、生成数据的预览、随机化测试数据、跨数据库数据生成自定义SQL语句等功能,非常适合SQL Server数据库开发人员使

  • Appium(Appium自动化框架)

    9.0/4.73G

    Appium官方版是一款开源的、能够多平台进行自动化测试的强大工具,使用软件用户就可以开始撰写和运行测试的主要指南,其中包括IOS、Android和Android旧设备的说明,如果用户有兴趣在物理硬件上进行测试,也可以通过真实设备指南进行操作。

  • Electron(桌面开发工具)

    9.0/1.86G

    Electron是一款Github上的跨平台桌面应用开发工具,支持用户使用最新的Web技术进行桌面应用的开发工作,目前不仅大量的小公司在用,一些比较大的知名公司也在使用这款强大的开发工具。

  • OpenGL ES 2.0库

    9.1/854K

    OpenGL ES 2.0是OpenGL三维图形API的子集,针对手机、PAD和游戏主机等嵌入式设备设计,而小编带来的OpenGL ES 2.0是其2.0版本,这一版本主要针对可编程管线硬件,参照OpenGL 2.0的规范定义的。

  • JDK16官方版

    9.1/149.12M

    JDK16官方版是一款Java SE开发工具包,是专业的开发运行套件。JDK是整个Java的核心关键,适用于各种平台和操作系统。它提供了稳定和可靠的开发环境,使开发人员能够高效地创建和部署Java应用程序。

  • redmine(web项目管理软件)

    9.0/4.61M

    一套跨平台的项目管理系统

  • SQLMaestro MS SQL PHP Generator Professional(php自动代码生成器)官方版

    9.1/34.7M

    MS SQL PHP Generator官方版是windows下一款非常优秀的php脚本自动生成软件。通过该款那软件用户们可以快速建立一个基于自己数据库(MS SQL)的网站,功能上软件就提供了数据过滤、代码示例、代码加密等在内的多方面服务内容。

  • xmlwriter(xml编辑器)

    9.1/4.74M

    xmlwriter是一款专业的XML编辑工具,如果你是刚接触XML,或者不熟练,那么xmlwriter就非常的适合你哦,xmlwriter拥有一个直观的编辑界面,还具有书签功能,自动查找并替代。

  • Cmd Markdown编辑器

    9.1/20.72M

    Cmd Markdown是一款独特而强大的Markdown编辑工具。对于Markdown大家一定不陌生了,但是每种编辑器都有它的优缺点。但是这款工具可以说已经做到了尽善尽美了。

  • memcached 64 windows

    9.0/372K

    memcached是一个高性能的分布式内存缓存系统,用于动态web应用,主要的作用则是帮助开发人员减轻数据库负载,让一些独立开发人员能够使用低配置环境也能够开发一些动态web应用,通过在内存中缓存数据和对象,开发人员的应用就会减少读取数据库的次数,从而提高动态、数据库驱动网站的速

  • ProGuard官方版

    9.5/30.62M

    ProGuard官方版是一款非常实用的APK加固和代码混淆工具,它可以通过对源代码进行混淆和优化,使代码变得更加难以理解和逆向工程,并提高应用程序的安全性。ProGuard使用高级算法和技术,对Java源代码进行混淆,它会对类名、方法名、变量名等进行重命名,以增加代码的复杂性和混