gpt4 book ai didi

dictionary - 如何访问模板字符串中的 map ?

转载 作者:行者123 更新时间:2023-12-04 08:07:11 24 4
gpt4 key购买 nike

我想使用来自 gradle.properties 的值这应该进入模板字符串。
先天真:

println("${project.properties[somekey]}")
不起作用: Unresolved reference: somekey那么,需要报价吗?
println("${project.properties[\"somekey\"]}")
完全破坏语法: Expecting an expression为了第一 。
我找不到如何执行此操作的任何示例,但官方 documentation表达式 .
问题:是否可以访问字符串模板中的 map ,如果可以,如何访问?

最佳答案

是的,如下:

"${project.properties["someKey"]}"
假设 Map 具有以下签名: Map<String, Any?> (或 Map<Any...)
备择方案:
"${project.properties.getValue("someKey")}"
"${project.properties.getOrElse("someKey") { "lazy-evaluation-default-value" }}"
"${project.properties.getOrDefault("someKey", "someFixedDefaultValue")}"
基本上所有你放在 ${} 中的代码只是普通的 Kotlin 代码......不需要进一步引用/转义,除了美元符号 $本身,例如使用 "\$test"如果您不想将其替换为名为 test 的变量或 """${"$"}test"""如果您使用原始字符串
请注意,在此 println如果以下情况也足够了(这也适用于上面显示的所有替代方案。您可以省略外部周围的引号和 ${}):
println(project.properties["someKey"])
另见 Basic types - String templates

关于dictionary - 如何访问模板字符串中的 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66168436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com