groovy学习笔记

DSL 领域相关语言(行话)
gradle build执行build下所有task(不包括doLast)
gradlew -q take名   quite安静    执行该目录下的build.gradle文件中的 take

正则$  用于匹配行结束符  it$
groovy语言4.times方法 循环4次
task intro(dependsOn: hello) intro依赖hello任务
未定义依赖时'hello'
动态创建的 task
4.times { counter ->
    task "task$counter" << {
task0.dependsOn task2, task3动态依赖
每个 task 可以作为构建脚本的一个属性
 doFirst、doLast 也可以使用doLast的重载符号 <<  这是等价的Action行为 运行该task才doLast才执行,否则(不加)每次执行脚本都运行.
def val = 125 
def testGString(obj)
testGString("The Stock closed at ${val}"//$表示字符串结束+125

it代表集合中每个元素  def s="hello" s.each{println it}


person1.setName 'kk'
person1.setName('kk')调用方法可省其()
build.gradle看为public class
可内部类 可方法
rs?.next()   ?前面值为非null则执行.next()否则不做任何   assert哈
 Elvis操作符三目
metaClass属性反射
得
单引号也表示字符串(用def哦) def c1 = 'A'  println c1.getClass().getName() String
char c1='A'  Char   
def s = /c:\windows\system/       也为字符串// 利用/字符串/定义的字符串c:\windows\system
def s = 'c:\\windows\\system' 

函数调用可不加括号print("ddd")-->print "ddd" 除了官方常用这中api,自己的函数还是带的好,一个无参函数 省掉()跟变量无区别了...groovy都蒙版.

defaultTasks 'dodo'默认task  task dodo <<{"dddd"} gradle -q就会执行
DAG有向非循环图 gradle.taskGraph.whenReady 没懂

List变量由[]定义  def aList = [5,'string',true]  
Map变量由[:]定义  def aMap = ['key1':'value1','key2':true] 

闭包{}可类似为方法
def say={word->println "Hi,$word!"} 调用say("dpdp") 输出Hi,dpdp!

public static <T> List<T> each(List<T> self, Closure closure)泛型方法 类型形参在修饰符与返回值之间
调用函数中最后一个参数为闭包时,可省圆括号 doLast({println 'hello world!!!'})//该()可生活省
只接在文件下定义变量 def x=1(被加到run()方法内部)它与方法不对等,所以方法访问不到它
import groovy.transform.Field;   //必须要先import
@Field x = 1 强制变为类的成员变量与函数对等
io操作 new File("文件名").eachLine({println it})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋葵好吃吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值