Groovy语言学习--语法基础(2)
集合和闭包
因为之前没接触过C++等,对指针也一窍不通。个人不成熟的了解 闭包是一种数据类型,可以很方便的执行一段独立的代码 简化方法的调用
package groovy /** * Groovy容器 */ class GroovyCabin{ } /* * List 有丰富的api idea中可用listA. 查看 */ def listA = [5,"string","false"] print listA println listA[1] println listA.size() listA.add("moniter") println listA.size() listA[9] = 9 println listA listA << 7 //在listA里添加数据 相当于listA.add(7) println listA /* * Map */ def map = [key1:"john",key2:"tom",key3: listA] println map.keySet() println map.values() println map.get("key2") //返回key2的值 map.put("key4", "company") println map //遍历 Iterator it = map.iterator() while (it.hasNext()) { println it.next() } println map.containsValue("tom") println map.containsKey("key1") Set set = map.keySet() //把map的Key值转换为set println set /* * 闭包 Clouser 闭包是一种数据类型,它代表了一段可执行的代码 * def xx = { params -> code } def xx = { code } */ def clouserA = { String param1,int param2 -> println "this is code" return param1 + "welcome" + param2 } /* * 闭包定义好后,要调用它的方法就是 闭包对象.call(参数) or 闭包对象(参数) */ println clouserA.call("this is code",100) println clouserA("A",200) def funC = { -> "abced" } println funC.call() def list = [1,2,3] //定义一个list list.each{ println it } //当函数的最后一个参数是闭包的话,可以省略圆括号 def funD(int num,String str,Closure closure) { println num+str closure() //调用闭包 } funD(4,"test",{ println "close package" })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述