相关文章
更多最近更新
更多Groovy 快速入门程序
2019-04-27 16:44|来源: 网路
为了了解Groovy的基本语法,让我们先看看一个简单的Hello World程序。
创建你的第一个Hello World程序
创建Hello World程序,你只要输入以下几行简单的代码就可实现 -
class Example { static void main(String[] args) { // Using a simple println statement to print output to the console println('Hello World'); } }
当我们运行上面的程序,我们会得到以下结果 -
Hello World
在Groovy中导入语句
import语句可以用来导入,可以在你的代码可以使用其他库的功能。这是通过使用在 Import 关键字完成。
下面的示例演示了如何使用MarkupBuilder的类,它可能是最常用的创建HTML或XML标记的类之一。
import groovy.xml.MarkupBuilder def xml = new MarkupBuilder()
默认情况下,Groovy在代码中包括以下库,因此您不需要显式导入它们。
import java.lang.* import java.util.* import java.io.* import java.net.* import groovy.lang.* import groovy.util.* import java.math.BigInteger import java.math.BigDecimal
Groovy令牌
令牌可以是一个关键字,一个标识符,常量,字符串文字或符号。
println(“Hello World”);
在上面的代码行中,有两个令牌,首先是关键词的println而接下来就是字符串的“Hello World”。
Groovy评论
在您的代码中使用注释。Groovy的注释可以是单行或多行。
单行注释使用//在该行的任何位置来识别。一个例子如下所示 -
class Example { static void main(String[] args) { // Using a simple println statement to print output to the console println('Hello World'); } }
多行注释标识与在开始/ *和* /识别多行注释的末尾。
class Example { static void main(String[] args) { /* This program is the first program This program shows how to display hello world */ println('Hello World'); } }
分号
就像Java编程语言,它需要具有分号在Groovy定义多个语句之间进行区分。
class Example { static void main(String[] args) { // One can see the use of a semi-colon after each statement def x = 5; println('Hello World'); } }
上述例子示出了分号使用了不同行的代码语句之间进行区分。
身份标识
标识符被用来定义变量,函数或其他用户定义的变量。标识符以字母开头,美元或下划线。他们不能以数字开头。以下是有效标识符的一些例子
def employeename def student1 def student_name
其中,DEF是在Groovy用来定义标识符的关键字。
下面是一个如何在我们的Hello World程序中使用标识符的代码示例。
class Example { static void main(String[] args) { // One can see the use of a semi-colon after each statement def x = 5; println('Hello World'); } }
在上述的例子中,变量x被用作标识符。
关键词
关键字作为名称建议是在Groovy编程语言中保留的特殊字。 下表列出了在Groovy中定义的关键字。
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 | pull | package | return |
super | switch | this | throw |
throws | trait | true | try |
while |
空白
空白是在编程语言如Java和Groovy用来形容空格,制表符,换行符和注释术语。空格分隔从另一个声明的一部分,使编译器,其中一个元素标识的声明。
例如,在下面的代码示例,存在关键字def和变量x之间的空白。这是为了让编译器知道DEF是需要被使用,并且是x应该是需要被定义的变量名的关键字。
def x = 5;
文字
文字是在groovy中表示固定值的符号。Groovy语言有符号整数,浮点数,字符和字符串。下面是一些在Groovy编程语言文字的例子 -
12 1.45 ‘a’ “aa”
相关问答
更多-
Groovy ShortTypeHandling ClassNotFoundException(Groovy ShortTypeHandling ClassNotFoundException)[2019-06-15]
ShortTypeHandling是在groovy-all-2.3.0.jar中引入的,所以快速修复是用groovy-all-2.3.0.jar替换旧的groovy-all-xxxjar。 这解决了运行时ShorTypeHandling ClassNotFoundException,但是通过在应用程序中引入新的groovy-all.jar依赖关系也创建了新的问题。 真正的问题是如何通过maven调用groovy编译器。 因为我介绍了需要groovy 2.0的spock,我需要更新groovy-eclipse ... -
Groovy类路径问题(Groovy classpath issue)[2022-10-19]
它看起来不像是要导入RSyntaxTextArea的包。 您是否尝试将以下导入添加到您的程序中? import org.fife.ui.rtextarea.*; import org.fife.ui.rsyntaxtextarea.*; It doesn't look like you're importing the package for RSyntaxTextArea. Have you tried adding the following imports to your program? impo ... -
我错过了一些理由,为什么它不那么受欢迎,并且会把我的热情压制在一些东西上? 我的回答是强调“不”。 Groovy确实是一个非常有效的语言。 我花了大约一年时间将它用于我的日常工作,并且非常喜欢与它一起工作。 IMO,Groovy的默默无闻与语言本身无关,但其他因素如: 缺乏企业支持(即营销$$$) 2007年相对较新的版本1.0发布 随着各种“新”语言(Scala,F#,Clojure,Groovy)争夺思想共享,编程语言市场变得越来越拥挤。 这使得这些语言中的任何一种都难以占据这个市场的重要份额。 Am ...
-
混合Groovy和Java?(Mix Groovy and Java? [closed])[2023-07-13]
您对混合Java和Groovy项目的态度如何? 对于Grails来说似乎工作得很好。 你认为只在Groovy中编写整个应用程序才有意义吗? 定义“有道理”。 我认为它可能适用于Web应用程序,但不是所有的应用程序。 我会决定一个个案的低音。 最安全的答案是说“它应该是Java和Groovy的混合体”。 由于Groovy在JDK 6中运行,我假设它的可移植性不如JDK 6。 网络应用程序的性能通常取决于诸如网络延迟或数据库设计(如适当的索引)等因素,而不是原始语言速度。 What is your attitu ... -
groovy闭包继承(groovy closure inheritance)[2023-04-14]
闭包继承没有多大意义(无论如何我们倾向于使用它们)。 实践中的Closure是Closure类的一个实例。 如果我们创建了Closure子类,那么我们可以将它们子类化,但我们不能。 例如,在控制器中,我们将操作定义为内联实例,例如 def list = { ... } 这些被视为方法,因为我们可以调用list() ,但这只是list.call()语法糖,因为call()是Closure类的实例方法。 在Grails 2.0中,创建控制器操作的首选方法是使用方法,尽管仍然支持闭包以实现向后兼容性。 这种切换 ... -
Groovy:部署war文件(Groovy: deploying a war file)[2023-01-27]
我想你必须找到Gant.groovy的来源,看看它在那条线上做了什么。 显然,您的项目的特定配置会导致一些问题(因为如果总是发生这样的show-stopper bug就会被捕获),但错误消息不包含太多信息。 或者,如果您还没有,可以尝试将Grails升级到最新版本1.1.1。 I think you'll have to find the source of Gant.groovy and see what it's doing on that line. Apparently there is some ... -
运行Groovy应用程序(Run Groovy application)[2020-11-09]
对于简单的情况,您可以使用-l标志以“监听”模式运行Groovy脚本,如下所示: groovy -l 9010 SimpleServer.groovy 这将启动SimpleServer脚本侦听端口9010.我从mrhaki的Groovy Goodness博客中获取此示例: http ://mrhaki.blogspot.com/2009/12/groovy-goodness-serversocket-scripts.html。 查看完整的示例。 For simple cases you can run y ... -
Groovy编程(Groovy programming)[2022-06-04]
在这个问题中有一个很好的网站列表 - http://www.quora.com/Who-has-deployed-a-medium-large-website-succesfully-on-Groovy-Grails There is a good list of sites in this quora question - http://www.quora.com/Who-has-deployed-a-medium-large-website-succesfully-on-Groovy-Grails -
Groovy quine!(Groovy quine! How does it work?)[2022-05-26]
有问题的代码是: s='s=\\\';s[0..1]+s[3]+s[0..1]+s[2]*6+s[3..-1]*2';s[0..1]+s[3]+s[0..1]+s[2]*6+s[3..-1]*2 因此,左边的语句定义了一个字符串,然后右边的语句将字符串的不同位加在一起: 如果我们添加以下内容以打印出它正在做的事情: println s[0..1] println s[3] println s[0..1] println s[2] * 6 println s[3..-1] * 2 我们得到输出: s= ' ... -
我发现这很容易做到,因为对象的.properties属性生成了一个映射,列出了属性名称作为键,值作为值。 一旦我有了,那么我可以在两张地图之间做出改变,我得到了我正在寻找的答案。 每个对象都有一个.properties扩展名。 这就像Python .dict一样。 例 object1.properties - object2.properties 因此,这些将显示object1属性和object2属性之间的区别,但仅限于存在与object2内不同的实体(键+值)的情况。 如果object2中有额外的属性, ...