長的帥,連Code都是香的 - Elvis Operator ?:


前言

當初參加Kotlin讀書會的時候聽到Elvis Operator的來歷覺得很酷,在之後寫kotlin的時候也時常會使用到,算是很實用的運算子。

Elvis Operator其實是來自貓王的名字 - Elvis Presley,據說是因為當初創造這個運算子出來的人覺得這個運算子看起來很像貓王... 但其實我覺得比較像JOJO

用法

Result = First Operant ?: Second Operant

Elvis Operator 非常直觀,

  • 當 First Operant 的內容"不為" Null 時,則回傳 First Operant
  • 當 First Operant 的內容"為" Null 時,則回傳 Second Operant

也可以理解為右側運算元是當左側運算元為 Null 時的回傳預設值

給個栗子

1. 正常用法

2. 可以用在 Funtion 的 Return

3. 可以 Return Exception

4. 神級用法,目前還沒有這麼使用過

結論

或許你看到這邊會想說 ?: 就是一個null check的運算子,為什麼不按照Java的寫法?
val resutl = if(firstOperant != null) firstOperant else secondOperant

其實可以,這兩種寫法其實是沒有差別的,但若採用 Elvis Operator 的話,整體上可以少寫一點 code,所以如果讓我選擇我還是會偏好前者的寫法。
另外還有一個很重要的原因!!!多用帥哥命名的運算子寫code,或許我也會變比較帥吧

#Kotlin #Android #Elvis Operator
近期因為工作需求開始接觸Kotlin,在接觸的過程中發現Kotlin解決了過去Java許多令人詬病的問題,因此透過寫文章分享心得並也可以紀錄學習軌跡






Related Posts

Week1: CLI 和 Git 筆記

Week1: CLI 和 Git 筆記

MTR04_0724

MTR04_0724

 Go 的新手安裝

Go 的新手安裝



Comments