Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kotlin入門しました
Search
gedorinku
March 24, 2017
Programming
0
260
Kotlin入門しました
#prolabLT のスライドです.
gedorinku
March 24, 2017
Tweet
Share
More Decks by gedorinku
See All by gedorinku
N+1 問題の解決と computed_model
gedorinku
0
20
部内での競プロ用ジャッジシステム
gedorinku
0
1.5k
部内ジャッジを作る話
gedorinku
1
76
プロラボ年度末報告会 HackDay / Hack U 福岡
gedorinku
0
120
Other Decks in Programming
See All in Programming
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
180
try! Swift Tokyo 2024のLT枠に採択されたプロポーザルを出すときに考えていたこと
ski
0
340
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
3.2k
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
190
甘い香りに誘われてVanilla Extractを1年間運用してみた
miyahkun
1
110
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
220
Folding Cheat Sheet #1
philipschwarz
PRO
0
210
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
120
SwiftUI Performance 不要なViewの再描画と更新を抑える
bigamitiongit
1
160
StreamlitとTerraformでデータカタログを作った話
gussan0223
0
300
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
18
4.8k
受託開発でGitLab CI を活用していく
xiombatsg
1
270
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
258
12k
Infographics Made Easy
chrislema
237
18k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
How to train your dragon (web standard)
notwaldorf
72
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
How to Ace a Technical Interview
jacobian
272
22k
Building an army of robots
kneath
300
41k
Product Roadmaps are Hard
iamctodd
43
9.7k
Happy Clients
brianwarren
91
6.4k
Transcript
Kotlin入門しました @gedorinku
Kotlin #とは • JetBrainsが作った言語 • JVMで動く • Androidでも使える • 安全で簡潔な記述ができる
• null安全 • SAM変換 • 拡張関数 • delegation とか • 名前がかわいい
null安全ー?なにそれー? JavaやKotlinはnullを参照すると ぬるぽ(NullPointerException)で止まる 回避するにはnullを参照しようとしてないか 頑張ってチェックする・・・?
null許容型・非null型 fun main(args: Array<String>) { var hoge: Array<Int> = null
var piyo: Array<Int>? = null //something to do val evenCount = piyo?.count { it % 2 == 0 } ?: 0 } ←コンパイルエラー ←OK null許容型はnullチェックして参照しないとコンパイルエラー
Javaとの連携とSAM変換 val runnable = Runnable { println("hogehoge") } KotlinからJavaのクラスは普通に使える 抽象メソッド1つを実装した匿名クラスは簡潔に書ける
(Java8っぽい)
拡張関数・拡張プロパティ 既存のクラスに後からメソッドを追加する機能 fun String.chan(): String = this + "-chan" println("Serval".chan())
//-> Serval-chan
キモイことができます operator fun Int.invoke(): Int = this * 2 fun
Int.println() = println(this) 1()()().println() //-> 8
既存のクラスに後からメソッドを追加する機能 //-> [0, 8, 16] fun Array<Int>.applyMany( times: Int, f:
Array<Int>.() -> Unit ): Array<Int> { for (i in 1..times) { f() } return this } fun main(args: Array<String>) { println(arrayOf(0, 1, 2).applyMany(3) { forEachIndexed { index, i -> this[index] = i * 2 } }.toList()) }
Kotlin Koans IDEを使って チュートリアルをやると 幸せになれる 全部理解できたらプロ.
Kotlin Koans Kotlin Koansを進めると, いい感じのgif付きで ツイートできる Kotlin KoansでKotlinを はじめましょう