手记

【九月打卡】第十三天 Gradle的使用

第一模块:课程介绍

课程名称:新一代构建工具gradle
课程章节:2-4 groovy基础知识-高效特性
主讲老师:skyding

第二模块:课程内容

了解Gradle的高效特性

第三模块:课程收获

Gradle高效特性

  1. 可选的类型定义

示例代码:

// 1 可选的类型定义
def version = 1;

在idea中,这个version的类型会被编译器进行推断,然后显示出来。

可以看到,后面跟了一个Integer的类型推断

  1. assert断言

示例代码

// 2 assert

assert version == 2

在groovy中,assert是可以在任何时候执行的。

  1. 可选的括号

示例代码:

// 3 可选的括号
// 带括号
println(version)
// 不带括号
println version

这两个代码都可以正常打印内容出来

  1. 字符串
// 字符串

def s1 = 'imooc'
def s2 = "gradle"
def s3 = '''hello world'''

这三种有什么区别呢。

第一种:单引号,这个是存粹的字符串

第二种:双引号,这个可以插入其他的变量

def s2 = "gradle${version}"

第三者:三引号,在字符串内可以换行,类似于JDK17中的三引号

def s3 = '''hello 

world'''
  1. 集合API List和Map

List示例代码

// List
def buildTools = ['ant', 'maven']

// 追加元素
buildTools << "groovy"
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3

Map示例代码

// Map
def buildYears = ['ant': 200, 'maven': 2004]
// 新增元素
buildYears.gradle = 2009

println buildYears['gradle']

Map对应的Java中的class java.util.LinkedHashMap

  1. 闭包

简单来说,就是一个代码块,可以有参数,也可以没参数,可以被赋值给一个变量,也可以当参数传递给一个方法

在groovy构建脚本中,闭包一般用来当成参数使用

示例代码:

// 闭包
def c1 = {
    v -> print v
}

def c2 = {
    print 'hello'
}

def method1(Closure closure){
    closure('params')
}

def method2(Closure closure){
    closure()
}

method1(c1)

method2(c2)

执行上面的代码会在控制台打出paramshello

groovy构建脚本介绍

先看一个简单的构建脚本

apply plugin: 'java'

version = '0.1'

repositories {
    mavenCentral()
}

dependencies {
    compile 'commons-codec:commons-codec:1.6'
}

// 每个构建脚本都有一个project的实例
// apply是一个方法,是project实例中的一个属性,这句话就是声明了一个plugin这个参数的值等于Java

apply plugin: ‘java’ -> apply(plugin: ‘java’)

repositories是一个闭包,里面作为一个参数,调用这个方法

dependencies 也是一个闭包,依赖管理的,作为参数调用这个方法

第四模块:课程记录

0人推荐
随时随地看视频
慕课网APP