大佬教程收集整理的这篇文章主要介绍了Groovy基础,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
1.Person.groovy
package com.caicongyang.test /** * Created by caicongyang1 on 16/12/22. */ class Person { def name def age String toString() {//注意方法的类型String,因为我们要覆盖的方法为String类型 "$name,$age" } }
package com.caicongyang.test /** * Created by caicongyang1 on 16/12/22. */ class Test { /** * @param args */ public static void main(def args) { println "Hello World" println '==================================' def person=new Person(['name':'Tom','age':22]) //引用Person对象 //[]号可以省略 println person println '==================================' def var = "Hello " + "world" + ",groovy!"; //字符串相加 println var; println var.class; var = 1001; println var.class; println '==================================' def map=['name':'john','age':14,'sex':'boy']; //map println map.size; //通过key作为成员名索引 println map['name'] ; //通过key作为下标索引 println '==================================' def msg = "Hello!" println msg.MetaClass; String.MetaClasS.Up = { delegate.toUpperCase() }; println msg.up(); //msg.MetaClass.methods.each { println it.name }; //打印出所有的方法 //msg.MetaClass.properties.each { println it.name }; //所有的属性 println '==================================' def aList = [5,'String',true] //List由[]定义,其元素可以是任何对象 assert aList[1] == 'String' assert aList[5] == null //第6个元素为空 aList[100] = 100 //设置第101个元素的值为10 assert aList[100] == 100 println aList.size println '==================================' def doubleQuoteWithoutDollar = "I am one dollar" //输出 I am one dollar def x = 1 def doubleQuoteWithDollar = "I am $x dolloar" //输出I am 1 dolloar println doubleQuoteWithDollar println '==================================' def aRange = 1..5 //包含5 def aRangeWithoutEnd = 1..<5 //@R_180_11262@,2,3,4这4个元素,不包含5 println aRange.from println aRange.to println aRangeWithoutEnd.to println '==================================' def aClosure = {//闭包是一段代码,所以需要用花括号括起来.. -> //这个箭头很关键。箭头前面是参数定义,箭头后面是代码,如果没有前面直接空着 println"this is a code Closure" //这是代码,最后一句是返回值, } aClosure.call(); def bClosure = {//闭包是一段代码,所以需要用花括号括起来.. language -> //这个箭头很关键。箭头前面是参数定义,箭头后面是代码 println 'this is a $language code Closure' //单引号直接输出$ println "this is a $language code Closure" //双引号$为参数替换 } bClosure.call('groovy'); println '==================================' TESTClosure (4,"test",{ println "i am in closure" } ) println '==================================' def iamList = [1,4,5] //定义一个List iamList.each{ //调用它的each,这段代码的格式看不懂了吧?each是个函数,圆括号去哪了? println it } } def static TESTClosure(int x1,String y1,Closure clo){ //do something clo() //调用闭包 } public List<Integer> each(List<Integer> self,Closure closurE){ closure(); } }
http://www.jianshu.com/p/94aabdfcdfc5
http://blog.csdn.net/yanbober/article/details/49047515
以上是大佬教程为你收集整理的Groovy基础全部内容,希望文章能够帮你解决Groovy基础所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。