25 October 2018

1. Overview

可以从learnxinyminutes获取一些语言学习的摘要信息,以后可以借此制作一些cheetsheet。

2. Hello World

Example 1. hello-world.groovy
print 'Hello, World!'
1 使用GString进行 string interpolation,注意和scala 和 kotlin进行区分
  1. Groovy可以使用groovysh启用交互式的groovy shell命令行,用来进行一些调试和演练

  2. Groovy可以使用groovyConsole打开一个GUI,用来运行groovy命令和程序

  3. Groovy可以通过groovy命令直接运行一个以 .groovy 后缀的文件,或者使用 groovyc 编译一个 groovy 文件

3. 华氏和摄氏温度对照

对照公式如下

\(^\circ{C}=(5/9)(^\circ{F}-32)\)

在Hello, World一节中,看到简单的一行打印语句,那么如果是相对复杂一点的逻辑呢?

Example 2. fahr-celsius.groovy
/* 当fahr=2, 20, ..., 300时,
打印华氏温度和摄氏温度对照表 */

float fahr, celsius;
def lower, upper, step;

lower = 0;
upper = 300;
step = 20;

fahr = lower;   (1)

while (fahr <= upper) {
    celsius = (5.0/9.0) * (fahr - 32.0);
    println(String.format("%3.0f %6.1f", fahr, celsius));   (2)
    fahr = fahr + step;
}
1 Groovy 是弱类型,参考Kotlin和Scala
2 这里使用了GString的format方法

在Groovy中,可以使用 def 弱化类型——区分强(弱)类型和静(动)态类型的不同组合。