概述
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:windowssystem/ 也为字符串// 利用/字符串/定义的字符串c:windowssystem
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})
最后
以上就是潇洒信封为你收集整理的groovy学习笔记的全部内容,希望文章能够帮你解决groovy学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复