Scala教學文件
https://www.runoob.com/scala/scala-tutorial.html
心得:
- 沒有++的用法
- Array不是用[]而是用()
- def newFunc(nums: Array[Int]): Int = {}
object Solution {
def removeDuplicates(nums: Array[Int]): Int = {
if(0==nums.length){return 0;}
var slow=0; var fast=0;
while(fast<nums.length){
if(nums(fast)!=nums(slow)){
slow+=1;
nums(slow)=nums(fast);
}
fast+=1;
}
return slow+1;
}
}
traits
參考閱讀[link_1]
Traits特質,一個我們既熟悉又陌生的特性。熟悉是因為你會發現它和你平時在Java中使用的interface接口有著很大的相似之處,而陌生又是因為Traits的新玩法會讓你打破對原有接口的認知,進入一個更具有挑戰性,玩法更高級的領域。所以,在一開始,我們可以對Traits有一個初步的認識:它是一個加強版的interface。之後,隨著你對它了解的深入,你就會發現相比Java接口,Traits跟類更為相似。再之後,你或許會覺察到,Traits在嘗試著將抽象更好地融為一個整體。
Scala的範例寫法如下:
trait Animal{
val typeOf: String = "哺乳動物" // 带有默認值的字段
def move(): Unit = { // 帶有默認實現的方法
println("walk")
}
def eat() //未實現的抽象方法
}
類似於Java的下列寫法:
public interface Animal{
String typeOf = “哺乳動物”;
default void move() { System.out.println(“walk”); }
void eat();
}