Groovy学习笔记之入门一
一.搭建环境? public class GTest{ ???????? static void main(args) { ???????????????? println "helloword" ???????? } } ? 参考连接:http://www.voidcn.com/article/p-cyrbvzmv-bkz.html http://www.cnblogs.com/kevincollins/archive/2009/03/25/1505681.html ? println "simple test 中国" def var1="hello world" println var1 println var1.class def var="hello "+ "world"+ ",groovy!" println var; println var.class; var=1001 println var.class def var2="hello "+ "world"+ ",groovy!" def repeat(val2){ for(i = 0; i < 5; i++){ println val2 println "This is ${i}:${val2}" } } repeat(var2) //collect def collect=["a","b","c"]; collect.add(1); collect<<"come on"; collect[collect.size()]=100.0 for(j in 0..collect.size()-1) { println collect[j] } //map def map=['name':'john','age':14,'sex':'boy'] map=map+['weight':25] //添加john的体重 map.put('length',1.27) //添加john的身高 map.father='Keller' //添加john的父亲 println map['father'] //通过key作为下标索引 println map.length //通过key作为成员名索引 //闭包 //key,value两个参数用于接受每个元素的键/值 map.each({key,value->println "$key:$value"}) map.each{println it} //it是一个关键字,代表map集合的每个元素 map.each({ println it.getKey()+"-->"+it.getValue()}) //单独定义闭包 def say={word->println "Hi,$word!"} say('groovy') say.call('groovy&grails 坦克世界') //import groovy.Person; def person1=new Person() person1.name='kk,你好' person1.age=20 println person1 def person2=new Person(['name':'gg','age':22]) //[]号可以省略 println person2 //动态性 def msg = "Hello!" println msg.metaClass //在元类中添加up方法 String.metaClass.up = { delegate.toUpperCase() } println msg.up() //打印元类的所有方法 //msg.metaClass.methods.each { println it.name } //打印元类的所有属性 //msg.metaClass.properties.each { println it.name } if (msg.metaClass.respondsTo(msg,'up')) { println msg.toUpperCase() } //当然,也可以推断它有没有一个叫bytes的属性: if (msg.metaClass.hasProperty(msg,'bytes')) { println msg.bytes.encodeBase64() } public class Person{ def name def age String toString(){//注意方法的类型String,因为我们要覆盖的方法为String类型 "$name,$age" } } import groovy.swing.SwingBuilder import java.awt.BorderLayout import groovy.swing.SwingBuilder import java.awt.BorderLayout as BL def swing = new SwingBuilder() count = 0 def textlabel def frame = swing.frame(title:'Frame',size:[300,300]) { borderLayout() textlabel = label(text:"Clicked ${count} time(s).",constraints: BL.NORTH) button(text:'Click Me',actionPerformed: { count++; textlabel.text = "Clicked ${count} time(s)."; println "clicked" },constraints:BorderLayout.SOUTH) } frame.setDefaultCloSEOperation(3); frame.setSize(400,500); frame.setLocationRelativeTo(null) frame.pack() frame.show() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |