LoginSignup
2
2

More than 5 years have passed since last update.

Scalaの勉強(1)

Posted at

Scalaの勉強

勉強会などでScalaを使用することがあるのですが、基礎的な事を学んだ事がなく、なんとなくかけてしまってるだけで正確な知識が身についていないため、改めて勉強していくことにしました。
飽きっぽい性格なので、Qiitaに投稿しながら勉強することでモチベーションを向上図りつつ、学んだことを記述していこうと思います。

参考書籍

Scalaプログラミング入門
https://www.amazon.co.jp/SCALA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E3%83%87%E3%82%A4%E3%83%93%E3%83%83%E3%83%89%E3%83%BB%E3%83%9D%E3%83%A9%E3%83%83%E3%82%AF/dp/4822284239

定番のHello World

println("Hello World")

変数の定義

valは初期化後に再代入できない。
varは再代入可能。

val a: String = "aaa"
// 型推論で型の省略が可能
val b = "bbb"

var c: Int = 1
c = 2

for文

for {i <- 1 to 10} {
 println(i)
}

実行結果

1
2
3
...
10

メソッドの定義

メソッドの定義はdefを使う。

def fuga(name: String) {
 println(name)
}

戻り値を返すメソッド

def sumInt(a: Int, b: Int) : Int = {
 return a + b 
}

classの定義

class Hoge() {
 println("aaaa")
}

new Hoge()
// aaaa

※Scalaでは明示的に宣言しない限り、アクセスレベルは全てパブリックになるそうです。

Objectの定義

object myApp {
 def fuga() {
  println("test")
 }
}

myApp.fuga()
// test
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2