iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Kotlin

Kotlin快速轉職系列-勇者篇系列 第 8

Day05#1 程式語言畢竟是人設計出來給人使用的

  • 分享至 

  • xImage
  •  

「妳去了快一天了。」勇者看了下時間。

「抱歉抱歉,我也沒想到會花那麼多時間。」蕭凱琪尷尬的笑笑。「我整理的資料有看懂嗎?因為我平常寫文件的時候會比說話時嚴謹很多,所以有點擔心你不習慣。」

「是看不太懂。」勇者說:「主要是因為看了還是不清楚這些和『property name』和『receiver type』的關係。」

「啊,是我漏了說明,『property』是變數應用的一種,『receiver type』是擴展函式或擴展屬性所附加到的類型​​,類別是類型的一種。不過就算我這麼說,還是很難懂吧?等我一下我想想怎麼說更好懂。」蕭凱琪回頭去看程式碼,終於想起當初會產生這個問題是因為示範把「continueCalculating」改成「if」。

「你拿到的語言大禮包,包含中文語法嗎?」蕭凱琪問。

「有的,名詞、形容詞、副詞這些我都知道。」勇者回答。

「『if』在中文的意思是『如果』,屬於連接詞,而『property name』是替一個數據取好的名字,當然是名詞。連接詞的位置不能放名詞,這很合理吧,除非惡搞也沒人會把自己的名字取的和連接詞一樣,這樣很難分辨在叫人名還是在指連結詞。」

「如果如果小姐」聽起來就很詭異。

「『continueCalculating』存放的是一個是非值,意義就如同它的名字『是否要繼續計算』。每次回合結束的時候,都會根據我們輸入y還是n來確定是否進行下個回合,因為第一回合一定要執行,所以初始值設定成true。至於要用val還是var,如果你不確定的話,我會推薦交給Intellij IDEA決定,你只要都寫成val,在Intellij IDEA要求你改成var的時候你就按照建議修正即可。」

⋯⋯所以面試考試的時候,主考官不會讓你用Intellij IDEA。

「『receiver type』指的是對已存在的類型追加功能或屬性,而類型則是把同樣特性、功能的數據取個名字組織、歸類起來。比如說,一、二、三、四這些數字就歸屬整數類型,本來就有加減乘除這些功能,但我們希望能直接知道這個整數是不是三的倍數,而不用另外放在某個函式的括號裡面。在這個案例裡,整數類型就是『receiver type』。」

蕭凱琪看著勇者,認真的說:「程式語言畢竟是人設計出來給人使用的,不會故意採用生僻的思考方式。」


上一篇
Day04#1 變數、類別和函式的定義和用途
下一篇
Day06#1 把程式碼翻譯成人話試試
系列文
Kotlin快速轉職系列-勇者篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言