我有以下代码:
private fun setCashPaymentContainer(isSelected: Boolean) {
if (isSelected) {
dataBinding.cashPaymentCheckImageViewContainer.visibility = View.VISIBLE
} else {
dataBinding.cashPaymentCheckImageViewContainer.visibility = View.GONE
}
}
它工作正常,但我想改进它,并写为简化和可读性,如果其他块。这将是很好的,如果我能使一行如果其他声明请建议。
事实上,科特林允许这样做。
private fun setCashPaymentContainer(isSelected: Boolean) {
dataBinding.cashPaymentCheckImageViewContainer.visibility = when {
isSelected -> View.VISIBLE
else -> View.GONE
}
}
实际上,你可以把它做得更好(依我看):
inline fun View.showIf(condition: (View) -> Boolean) {
val shouldShow = condition(this)
this.visibility = when {
shouldShow -> View.VISIBLE
else -> View.GONE
}
}
现在你可以做了
private fun setCashPaymentContainer(isSelected: Boolean) {
dataBinding.cashPaymentCheckImageViewContainer.showIf { isSelected }
}
可以使用if表达式:
dataBinding.cashPaymentCheckImageViewContainer.visibility = if(isSelected) View.VISIBLE else View.GONE
...但是在这种情况下,isVisible
更好(信用:Pawel):
dataBinding.cashPaymentCheckImageViewContainer.isVisible = isSelected
注意:还有isInsight
和isGone
。
我有以下代码: 它工作得很好,但是我想改进它,把它写成简化的、可读的if else块。如果我能做一行if else语句请建议,那就好了。
问题内容: 我有以下代码 我需要将to的值设置为if is ; 不做其他任何事情。所以,这是我的代码 有什么办法可以避免使它看起来更干净的部分吗?相当于 我试着用替换它是这样的:。我所得到的只是语法错误。我也不能忽略这一部分。 问题答案: 我认为这在Python中是不可能的,因为您实际上要尝试执行的操作可能会扩展为以下内容: 如果您排除,则会收到语法错误,因为我非常确定分配实际上必须返回某些内容。
问题内容: 根据反if运动,最好的做法是在我们的代码中不要使用if。谁能告诉我是否有可能摆脱这段代码中的if?(切换也不是一种选择, 重点是删除条件逻辑,而不是用类似的语言构造替换ifs ) (语言:Java或C#) 问题答案: 利用策略模式。 用Java术语: 使用方法如下:
本文向大家介绍在mybatis 中使用if else 进行判断的操作,包括了在mybatis 中使用if else 进行判断的操作的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,大家还是直接看代码吧~ 需要注意的是 使用了where标签以后,sql中不在使用where字段来限制条件 如果判断条件有多个 中间用 and 表示并列 补充:mybaits中if 多个test 和 if els
我试图检查一个进程(假设它被称为some_进程)是否正在服务器上运行。如果是,则回显1,否则回显0。 这是我正在使用的命令,但它只能部分工作(更多信息见下文)。注意,我需要在一行中编写脚本。 注:某些过程中的是为了防止grep自身返回。 如果某个_进程正在运行,则会回显“1”,这很好。但是,如果某个_进程未运行,则不会产生任何回声。
我已经阅读了下面的链接,但没有回答我的问题 Python是否有三元条件运算符?(问题是关于将if-else语句压缩到一行) 是否有一种更简单的方法来编写if-elif-else语句,使其适合一行<例如, 或者是一个真实的例子: 我只是觉得如果上面的例子可以用下面的方式写,它看起来会更简洁。