a green VW bug parked on a dirt road

认识 Apache Groovy:结合 Python 和 Java 最佳特性的编程语言

如果您有扎实的 Java 背景,并且发现自己使用 Python 来处理…
首页 » 博客 » 认识 Apache Groovy:结合 Python 和 Java 最佳特性的编程语言

我喜欢 Apache Groovy 编程语言。自从 2008 年第一次接触它以来,我就一直很喜欢它。我对 Groovy 最初的积极反应是基于两个因素:它非常简洁,很像 Python,并且它源于 Java。对我来说,这是一个“两全其美”的事情。
Groovy 允许您访问从 java.lang.Stringjava.util.HashMap 的类。您还可以访问像 java.sqljava.collections 这样的包。在许多情况下,它们被增强或简化,以便通过直接的语法支持轻松访问。

例如,在 Java 中,您会写

import java.util.LinkedHashMap;
…
var addressMap = new LinkedHashMap<String,String>();
…
var employeeName = “Smith, Bob”;
addressMap.put(employeeName, “1824 Anderson Court, San Francisco, CA”);
System.out.println(“Address of “ + employeeName + “ = “ +
addressMap.get(employeeName));

在 Groovy 中,您会写

def addressMap = [:]
…
def employeeName = “Smith, Bob”
addressMap[employeeName] = “1824 Anderson Court, San Francisco, CA”
println “Address of $employeeName = ${addressMap[employeeName]}”

花一点时间浏览一下程序

  • Groovy 自动导入大多数 Java 标准库,因此您不必这样做。
  • Groovy 允许您使用 def 关键字定义动态类型变量(就像将 Java 变量声明为 java.lang.Object 一样),然后在运行时访问特定于类型的属性和行为。
  • Groovy 对使用 [] 获取和设置基于方括号内变量的值的映射提供了语法支持。如果您愿意,仍然可以使用 get()set()
  • Groovy 有一个名为 GString 的字符串插值工具,您可以在上面的 println 方法调用中看到它的工作原理。
  • Groovy 通常不需要分号或方法调用括号。
  • System.out 去哪儿了?

对我来说,Groovy 过去是,现在仍然是脚本编写的一大胜利。代码比 Java 更短,这使得它更容易阅读和理解,因为干扰更少。当我编写脚本并且不想定义各种类来保存我的数据时,我可以将其直接塞入映射或列表中。当然,正如能力越大,责任越大

我本系列的目的是每天提供一个简洁的 Groovy 课程,以鼓励您亲自尝试一下。如果您有扎实的 Java 背景,并且发现自己使用 Python 来处理脚本任务,我敢打赌我可以让您尝试一下 Groovy。

如果您对尝试 Groovy 的想法感兴趣,您需要首先在您的 Linux 笔记本电脑或台式机上安装 Groovy 和 Java。

安装 Java 和 Groovy

Groovy 基于 Java,需要安装 Java。最新版本的 Java 和 Groovy 可能已在您的 Linux 发行版的存储库中。也可以按照 官方 Groovy 网站上的说明安装 Groovy。对于 Linux 用户来说,一个不错的替代方案是 SDKMan,它可以用于获取多个版本的 Java、Groovy 和许多其他相关工具。
本系列文章使用 SDK 发布的版本开始:

  • Java:OpenJDK 11 的 11.0.12-open 版本
  • Groovy:3.0.8 版本。

如果我到了想要使用需要更新版本的 Groovy 的地步,我一定会提及它。

这篇文章是关于 Apache Groovy 系列文章的一部分,请继续关注更多内容.

图片由 Brittani BurnsUnsplash 上拍摄

作者

如果您喜欢这篇文章,您可能还会喜欢这些