添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )

最新推荐文章于 2024-01-08 11:21:29 发布
本文详细介绍了在Groovy中如何使用Java语法和Groovy语法对包含冒号的字符串进行切割,并将切割结果直接赋值给变量。通过示例展示了不同赋值方式,包括完全赋值和部分赋值的情况,适用于处理Gradle配置文件中的依赖库字符串。 摘要生成于 ,由 DeepSeek-R1 满血版支持,

在 Android 中的 Gradle 配置中 , 最常用的用法是 , 将 build.gradle 中的 dependencies 依赖中的 org.codehaus.groovy:groovy-all:3.0.5 函数库进行处理 ;

dependencies {
    compile 'org.codehaus.groovy:groovy-all:3.0.5'
    testCompile group: 'junit', name: 'junit', version: '4.12'

org.codehaus.groovy:groovy-all:3.0.5 字符串中存在冒号 , 依据 " : " 将字符串分割开来 ;

1、使用 Java 语法切割字符串

使用 Java 语法 , 切割上述字符串 ,

def libName = "org.codehaus.groovy:groovy-all:3.0.5"
// I. 使用 Java 语法切割
def names = libName.split(":")
// 打印切割结果
// [org.codehaus.groovy, groovy-all, 3.0.5]
println names

执行结果 :

[org.codehaus.groovy, groovy-all, 3.0.5]

2、使用 Groovy 语法切割字符串直接为变量赋值

使用 Groovy 语法切割字符串 , 并使用 (group, name, version) 接收切割后的字符串数组元素的值 , 切割后数组的 3 个元素 , 分别赋值给 group , name , version 变量 ;

def libName = "org.codehaus.groovy:groovy-all:3.0.5"
// II. Groovy 中切割上述字符串的方法
// 自动将 libName 按照 ":" 切割出来的数组元素
// 分别赋值给 group , name , version 变量
def (group, name, version) = libName.split(":")
// 打印结果 :
// group : org.codehaus.groovy , name : groovy-all , version : 3.0.5
println "group : $group , name : $name , version : $version"

执行结果 :

group : org.codehaus.groovy , name : groovy-all , version : 3.0.5

3、数组赋值给变量 变量个数小于等于数组长度

如果字符串分割出的数组有 3 个元素 , 如果 赋值给 2 个变量 , 就将 前两个数组元素 进行赋值 ;

这里注意 : 赋值的变量 可以少于 分割的数组长度 , 不能多于数组长度 , 否则会产生越界异常 ;

def libName = "org.codehaus.groovy:groovy-all:3.0.5"
// 如果分割出的数组有 3 个元素
// 但是赋值给 2 个变量 , 就将 前两个数组元素 进行赋值
// 注意 : 赋值的变量 可以少于 分割的数组长度 , 不能多于数组长度 , 否则会产生越界异常
def (group2, name2) = libName.split(":")
// 打印结果 :
// group2 : org.codehaus.groovy , name2 : groovy-all
println "group2 : $group2 , name2 : $name2"

执行结果 :

group2 : org.codehaus.groovy , name2 : groovy-all
// II. Groovy 中切割上述字符串的方法
// 自动将 libName 按照 ":" 切割出来的数组元素
// 分别赋值给 group , name , version 变量
def (group, name, version) = libName.split(":")
// 打印结果 :
// group : org.codehaus.groovy , name : groovy-all , version : 3.0.5
println "group : $group , name : $name , version : $version"
// 如果分割出的数组有 3 个元素
// 但是赋值给 2 个变量 , 就将 前两个数组元素 进行赋值
// 注意 : 赋值的变量 可以少于 分割的数组长度 , 不能多于数组长度 , 否则会产生越界异常
def (group2, name2) = libName.split(":")
// 打印结果 :
// group2 : org.codehaus.groovy , name2 : groovy-all
println "group2 : $group2 , name2 : $name2"

执行结果 :

[org.codehaus.groovy, groovy-all, 3.0.5]
group : org.codehaus.groovy , name : groovy-all , version : 3.0.5
group2 : org.codehaus.groovy , name2 : groovy-all
虽然这不是本意,但是我们完全将 Groovy 作为脚本语言使用。我们可以像 Java 那样(严谨?)定义变量的类型,又可以像 PHP 那样不用定义变量类型,还能自由使用 Maven 仓库中的包。Groovy 满足我们对脚本语言的全部期望。当然,这些都是个人感受,肯定不符合软件工程的实践要求,但是我们用的很开心。
该笔记将整理:在 Groovy 中,常用的字符串操作,以及常见问题处理。
# 02/19/2021 添加模
				
我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。 在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素,而切片操作返回是和被切片对象相同类型对象的副本。 今天恋习Python主要与大家一起谈谈Python字符串切片操作的那些事。 一、字符串的切片 java.lang.String类 代表字符串 API当中说:Java程序中的所有字符串字面值(如“abc“)都作为此类的实例实现。其实就是说:程序当中所用的双引号字符串,都是String类的对象。(就算没有new,也照样是。) 字符串的特点 字符串的内容永远不可改变。【重点】 正是因为字符串不可改变,所以字符串是可以共享使用的。 字符串效果上相...
【错误记录】DevEco Studio 模拟器启动失败 ( 错误 : 未开启Hyper-V , 运行模拟器需要开启Hyper-V虚拟化支持 , 查看处理指导 ) 2301_79710563: 前面的都一样,最后没有虚拟机平台这个选项 【系统架构设计师】计算机组成与体系结构 ⑦ ( 磁盘管理 | “ 磁盘 “ 优化分布存储 - 优化 逻辑记录 在 磁道 中 存储分布 | 逻辑记录 在 磁道 中 顺序存储 / 优化存储 分析 ) 诗酒当趁年华: 最后一步的计算方式是否应该是 11*(3+3)=66 【开发环境】Mac 安装 Visual Studio Code ② ( 装 C/C++ 扩展 | 安装配置 Code Runner 扩展插件 | 运行 C 语言程序 ) LucasWang4: 谢谢,成功了