[英]Groovy: What Does “?” Mean in This Context?
我是Groovy的新手,無法理解此代碼的功能。
def aList
def foo = aList.size() == 1 ? aList[0] : null
我想嘗試分解
aList.size() == 1 ?
斷言列表的大小為1且不為null。 aList[0] : null
表示aList[0]
值默認為null 因此, foo
是列表中第一項的值,默認為null。
這是正確的,還是我誤解了這意味着什么?
那是一個三元條件運算符
它采用以下形式:
SOME_BOOLEAN ? IF_TRUE : ELSE
因此,在您的情況下,它與:
def foo = null
if(aList.size() == 1) {
foo = aList[0]
}
它是一行if語句。 擴展如下所示:
if( aList.size() == 1) {
foo = aList[0];
}
else {
foo = null;
}
希望能清除它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.