Groovy极简入门
发布日期:2021-10-06 15:05:17 浏览次数:9 分类:技术文章

本文共 1867 字,大约阅读时间需要 6 分钟。

Groovy是运行在JVM中的一门语言,有人说Ta是JVM中的Ruby,也有人说是JVM中的python,总之听上去是一个更加敏捷的Java。

文章目录

基础

安装,除了安装路径之外一路Next即可。注意添加环境变量。

安装完毕之后在命令行中输入groovysh即可进入Groovy编程环境。也可以在开始菜单打开GroovyConsole,进入控制台。
对于Java程序员来说,几乎可以无痛插入Groovy技术,例如对于Java代码:

public class MyFirstCroovy{
public static void main(String []args){
System.out.println("Hello world"); }}

Groovy可以轻松运行,如图所示:

运行
除此之外,Groovy还拥有不必创建class的操作风格,例如在命令行中可以直接输入:

C:\Users\Laser>groovysh九月 02, 2019 10:33:39 上午 java.util.prefs.WindowsPreferences 
Groovy Shell (2.5.8, JVM: 1.8.0_144)Type ':help' or ':h' for help.----------------------------------------------------------------------------groovy:000> test = "hello world"===> hello worldgroovy:000> println testhello world===> nullgroovy:000>

在groovy中,通过import导入包,需要注意的是,下面的包已经被导入,无需重新导入:

  • java.io.*
  • java.lang.*
  • java.math.BigDecimal
  • java.math.BigInteger
  • java.net.*
  • java.util.*
  • groovy.lang.*
  • groovy.util.*

与java的区别

语法差别

  • 不需要分号,但写上也不会报错
  • 可以不写return,此时默认返回方法最后一行的返回值
  • 数组初始化int[] array = [1,2,3],在Java中则为int[] array = {1,2,3}
  • def可以定义一切对象
  • 废除了do-while语句

闭包

Groovy中提供了闭包功能,有的语言中也叫匿名函数。在命令行中输入

groovy:000> def clos = {
println "hello world"}{
groovy:001> clos.call()}hello world===> null

我们所定义的clos即一个闭包。我们也可以在脚本中写成java风格:

class closureTest {
static void main(String[] args) {
def clos = {
println "Hello World"}; clos.call(); } }

命令链

所谓命令链,即在调用函数时,可以省略括号,这种写法在python2中似曾相识。在上面的代码中实际上也使用了这种方式,例如println test这条语句。

但是对于类中的方法并不适用,例如

groovy> def test(int a){
groovy> return a*2 groovy> } groovy> test 15 Result: 30groovy> def range = 5..10 groovy> println range.get 2 Exception throwngroovy.lang.MissingPropertyException: Exception evaluating property 'get' for groovy.lang.IntRange, Reason: groovy.lang.MissingPropertyException: No such property: get for class: java.lang.Integer at ConsoleScript3.run(ConsoleScript3:2)

而且当传入参数为空时,也不能省略括号。

转载地址:https://blog.csdn.net/m0_37816922/article/details/100192937 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:wxpython透镜演示系统(一)框架
下一篇:Clojure极简教程

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月01日 22时04分43秒