Gradle系列(一) Groovy 基础

  • groovy中不用写分号

  • 变量类型可以省略

  • 方法返回类型可以省略,上面test方法中的return也可以省略

  • 变量类型比较弱,可以推断出来

  • 字符串可以用双引号或者单引号包起来

4.2 String

def name = “zhangsan”

def b = 2

def test(a, b) {

println(“a= a b = {a} b= ab={b}”)

}

test(name, b)

//输出

a=zhangsan b=2

  • String中如果需要使用到变量,则需要使用$和{}关键字,并且需要使用双引号的时候才能这样用

  • 可以看到方法的入参那里也可以省略类型

  • Java中String有的方法,它都有

4.3 闭包

闭包感觉有点像kotlin的高阶函数(不知道对不对),可以将一个闭包作为参数传入方法,也可以赋值给变量.然后调用call方法即可调用闭包.kotlin是调用invoke.

//定义闭包 闭包的参数

def closure = { int a, String b ->

println(“a= a b = {a} b= ab={b}”)

//闭包返回值

return a + b

}

//调用闭包 定义result变量不用写def也可以,666

result = closure.call(1, “name”)

println(result)

//输出

a=1 b=name

1name

  • 闭包使用call方法调起,需要传入参数

  • 闭包定义时的参数类型是可以省略的

4.4 List

比Java中的更加强大.当遇到不会的方法的时候去查API文档,比如下面的示例代码中的each闭包,你肯定不知道闭包的参数是什么,这时我们打开,List的文档地址,找到each方法,知道了原来是遍历每个元素,参数是每个元素.

//list 可以存放不同的数据类型

def list = [1, “test”, true, 2.3]

list.each { item ->

println(item)

}

list.each {

println(it)

}

//输出

1

test

true

2.3

  • 闭包的参数只有一个时是可以省略的,在里面使用时用it代替.和kotlin很像.

  • list支持list[1]这种形式的访问

4.5 Map

//空的map

def map1 = [:]

//

def map = [“id”:1, “name”:“xfhy”]

map[‘id’] = 2

println(map[‘id’])

map.id = “idStr”

println(map.id)

map.each { key, value ->

println(“key= k e y v a l u e = {key} value= keyvalue={value}”)

}

map.each { entry ->

println(entry)

}

//输出

2

idStr

key=id value=idStr

key=name value=xfhy

id=idStr

name=xfhy

  • map支持map['id']访问和赋值

  • 也支持map.id访问和赋值

  • each遍历支持2种闭包,使用方式如上,记不清楚没关系,使用的时候去查API就行

4.6 IO

groovy的文件操作也是非常非常好使

def file = new File(“D:/test.txt”)

file.eachLine { line, lineNo ->

println(“第${lineNo}行 $line”)

}

//输出

第1行 name

第2行 age

第3行 book

  • 非常好用,简单直接地读取文件内容

  • 其他好用的API,请参阅这里

4.7 类

class Book {

String bookName

double price

}

def book = new Book()

book.with {

bookName = ‘字典’

price = 24.5

}

println(book.bookName)

题外话

我们见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

注意:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

不断奔跑,你就知道学习的意义所在!

注意:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

[外链图片转存中…(img-0pMiPSBE-1715561046074)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值