Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了按键获取Groovy映射值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个完整的groovy菜鸟,我有这个简单的地图:

def BranchToPort = [
    [branch: 'master',port: 15565],[branch: 'Release',port: 15566],[branch: 'Feature',port: 15567],[branch: 'Prototype',port: 15568],[branch: 'HotFix',port: 15569]
]

并给出一个分支名称(密钥)我想获得端口号,最好是在一行代码中.奇怪的是,互联网上有大量的例子可以根据相应的价值获得密钥,但不是相反.

解决方法

假设分支名称是唯一的,您可以编写一个简单的方法来返回给定分支名称的端口

def port(String branchName) {
    BranchToPort.find { it['branch'] ==  branchName }?.get("port")
}

只是为了解释这里发生的事情你提到“我是一个完整的常规菜鸟”

> def port(String branchName)这里我们声明一个采用字符串值branchName的方法
> BranchToPort.find因为BranchToPort是一个groovy集合,我们可以使用.find,它采用一个闭包,用花括号表示.此闭包将在集合中的每个项目上执行,而find的功能是它将返回第一个匹配项目.
> it [‘branch’] == branchName这是我们关闭内部的“让我得到匹配此条件的第一项”.使用它引用集合中的项.这里我们访问“branch”键并检查值是否与输入branchName匹配.
>} [‘port’]最后访问密钥以仅提取值.
>?.get(“port”)经Royg评论后编辑.我们使用安全的空检查器?并尝试访问“端口”值.的?将阻止空指针异常.

最后一点,在Groovy方法中将返回最后执行的语句,因此不需要使用return或将方法中的语句赋值给变量.

希望这可以帮助.

[编辑]
忘了举一个调用方法的例子:

portNumber = port("master")
assert portNumber == 15565
> True

大佬总结

以上是大佬教程为你收集整理的按键获取Groovy映射值全部内容,希望文章能够帮你解决按键获取Groovy映射值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: