首頁>Club>
最近在為學生講解Scala,學生都沒聽說過Scala,覺得語法很奇怪,是這樣嗎
10
回覆列表
  • 1 # 無IT不科技

    學生覺得奇怪我覺得是他們對程式語言的接觸不多,對其他程式語言有先入為主的概念,先說一下Scala這門語言的特性。它主要有以下兩種特性:

    一、面向物件特性

    Scala是一種純面向物件的語言,每個值都是物件。物件的資料型別以及行為由類和特質描述。

    類抽象機制的擴充套件有兩種途徑:一種途徑是子類繼承,另一種途徑是靈活的混入機制。這兩種途徑能避免多重繼承的種種問題。

    二、函數語言程式設計

    Scala也是一種函式式語言,其函式也能當成值來使用。Scala提供了輕量級的語法用以定義匿名函式,支援高階函式,允許巢狀多層函式,並支援柯里化。Scala的case class及其內建的模式匹配相當於函數語言程式設計語言中常用的代數型別。

    更進一步,程式設計師可以利用Scala的模式匹配,編寫類似正則表示式的程式碼處理XML資料。

    而從語法及書寫角度來看,個人覺得Scala融合了很多其他語言的特點,例如定義Scala的包:

    1、第一種方法類似於Java,在一個檔案開頭定義包名,則該檔案後面的所有程式碼都屬於這個包:

    package com.qunyh;class HelloWorld() { }

    2、第二種方法類似於C#,指明包的作用域,於是一個檔案中可以定義多個包:

    package com.qunyh { class HelloQunyh { } }

    它總是給人一種說不清道不明的感覺,似乎總能在它身上找到其他語言的影子。例如在書寫方式上,個人感覺跟JS的一些新特性又很像,包括像Lambda表示式的一些寫法等,寫起來很清爽舒服。或許程式語言大多都是相通的,時至今日,很多語言都能互相借鑑對方優秀的基因發展自己了。

  • 中秋節和大豐收的關聯?
  • 一個羽字,一個住字多一橫怎麼讀?