我是靠谱客的博主 激动唇彩,最近开发中收集的这篇文章主要介绍Groovy语言规范--基础篇(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

语法

本章介绍了groovy编程语言的语法。该语言的语法源于Java语法,但用Groovy的特定构造增强它,并允许某些简化。

1.1.1. 注释

单行注释

单行注释开始于//,能使用在任何位置,字符跟在//后面,到行尾的这部分都被认为是注释的一部分

// a standalone single line comment
println "hello" // a comment till the end of the line

多行注释

一个多行注释开始于/*,能使用在任何位置,字符跟在/后面会被认为是注释的一部分,包括新的一行的字符,直到遇到/才认为注释已结束,因此多行注释才能放在语句后面或者语句中间。

/* a standalone multiline comment
   spanning two lines */
println "hello" /* a multiline comment starting
                   at the end of a statement */
println 1 /* one */ + 2 /* two */

Groovydoc 注释

跟多行注释一样的是,Groovydoc 注释也是支持多行的,不同的是Groovydoc 注释开始于/**
,结束于*/,第一个groovydoc注释行后面的行可以选择以星号*开头。这些注释与以下内容相关:

  • 类型定义(类、接口、枚举、注释)
  • 字段和属性定义
  • 方法定义

尽管编译器不会抱怨groovydoc注释没有与上述语言元素相关联,但是您应该在这些构造前面加上注释。

/**
 * A Class description
 */
class Person {
    /** the name of the person */
    String name

    /**
     * Creates a greeting method for a certain person.
     *
     * @param otherPerson the person to greet
     * @return a greeting message
     */
    String greet(String otherPerson) {
       "Hello ${otherPerson}"
    }
}

Groovydoc遵循与Java自己的JavaDoc相同的约定。因此,您可以使用与JavaDoc相同的标签。

Shebang 行

除了单行注释之外,还有一个特殊的行注释,通常称为shebang行,Unix系统可以理解它,它允许脚本直接从命令行运行,前提是您已经安装了groovy发行版,并且路径上有groovy命令。

#!/usr/bin/env groovy
println "Hello from the shebang line"

#字符必须是文件的第一个字符。任何缩进都会产生编译错误。

1.1.2. 关键字

下面的列表表示groovy语言的所有关键字:

Table 1. Keywords

as

assert

break

case

catch

class

const

continue

def

default

do

else

enum

extends

false

finally

for

goto

if

implements

import

in

instanceof

interface

new

null

package

return

super

switch

this

throw

throws

trait

true

try

while

1.1.3. 标识符

普通标识符

标识符以字母、美元或下划线开头。它们不能以数字开头。
字母可以在以下范围内:

  • ‘a’ to ‘z’ (lowercase ascii letter)

  • ‘A’ to ‘Z’ (uppercase ascii letter)

  • ‘u00C0’ to ‘u00D6’

  • ‘u00D8’ to ‘u00F6’

  • ‘u00F8’ to ‘u00FF’

  • ‘u0100’ to ‘uFFFE’

接下来的字符可以包含字母和数字。

下面是一些有效标识符(这里是变量名)的示例:

def name
def item3
def with_underscore
def $dollarStart

但以下是无效的标识符:

def 3tier
def a+b
def a#b

当连接一个点时,所有关键字也是有效的标识符:

foo.as
foo.assert
foo.break
foo.case
foo.catch

带引号的标识符

带引号的标识符出现在点式表达式的点后。例如,person.name表达式的name部分可以用person."name"或person.'name’引用。当某些标识符包含Java语言规范禁止的非法字符时,这是特别有趣的,但是当引用时,Groovy允许使用这些字符。例如,破折号、空格、感叹号等字符。

def map = [:]

map."an identifier with a space and double quotes" = "ALLOWED"
map.'with-dash-signs-and-single-quotes' = "ALLOWED"

assert map."an identifier with a space and double quotes" == "ALLOWED"
assert map.'with-dash-signs-and-single-quotes' == "ALLOWED"

正如我们将在下面关于字符串的小节中看到的,groovy提供了不同的字符串文本。在点后面实际上允许使用所有类型的字符串:

map.'single quote'
map."double quote"
map.'''triple single quote'''
map."""triple double quote"""
map./slashy string/
map.$/dollar slashy string/$

普通字符串和groovy的gstring(内插字符串)之间是不同的,在后一种情况下,内插值插入到最终字符串中来得到整个标识符:

def firstname = "Homer"
map."Simpson-${firstname}" = "Homer Simpson"

assert map.'Simpson-Homer' == "Homer Simpson"

最后

以上就是激动唇彩为你收集整理的Groovy语言规范--基础篇(一)的全部内容,希望文章能够帮你解决Groovy语言规范--基础篇(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部