Frontend Engineer
if (item is String) { println(item) }
// 配列でループ arrayOf(1, 2, 3).forEach { println(it) } // 指定回数ループ repeat(3) { println(it) } // 配列のサイズでループ repeat(arrayOf(1, 2, 3).size) { println(it) }
スマートなnullチェックはイテレータ系の関数と並んで個人的にどの言語でも大切にしているところです。
val a: String? = null a?.let { println(it) }
?:
はエルビス演算子という。左がnullなら右を実行。
val name = name ?: "default"
エルビス演算子の右辺でrunすればエラーを吐いたりできる
var name = name ?: run { println("not found") return }
初期値を書かなくて良くなる。
class ResultFragment : Fragment() { private lateinit var viewBinding: FragmentResultBinding override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { viewBinding = FragmentResultBinding.inflate(inflater, container, false) return viewBinding.root }
↓わかりやすい
https://qiita.com/ngsw_taro/items/d29e3080d9fc8a38691e
今のところlet, runだけ使ってます。
アプリのビルド設定を記述するもの。依存パッケージなどもここに書く。package.jsonみたいなもの
Gradle=ビルドツール。Android開発では標準。
Javaに似たGroovyで書けるのでmaven(xml)より良いとされる。
JVM(Java 仮想マシン)上で動作する。
companion objectはクラス内に作成されるSingleton。objectと機能は同じ。
class Hoge { object A { val fizz = "fizz" fun foo() { ... } } companion object { val buzz = "buzz" fun bar() { ... } } }
companion objectはこのクラスから呼ぶことが明白なので、オブジェクトより呼び出し方がシンプル
fun main() { // objectの場合。 val fizz = Hoge.A.fizz Hoge.A.foo() // companion objectの場合。 val buzz = Hoge.buzz Hoge.bar() }
if (item is String) { println(item) }
// 配列でループ arrayOf(1, 2, 3).forEach { println(it) } // 指定回数ループ repeat(3) { println(it) } // 配列のサイズでループ repeat(arrayOf(1, 2, 3).size) { println(it) }
スマートなnullチェックはイテレータ系の関数と並んで個人的にどの言語でも大切にしているところです。
val a: String? = null a?.let { println(it) }
?:
はエルビス演算子という。左がnullなら右を実行。
val name = name ?: "default"
エルビス演算子の右辺でrunすればエラーを吐いたりできる
var name = name ?: run { println("not found") return }
初期値を書かなくて良くなる。
class ResultFragment : Fragment() { private lateinit var viewBinding: FragmentResultBinding override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { viewBinding = FragmentResultBinding.inflate(inflater, container, false) return viewBinding.root }
↓わかりやすい
https://qiita.com/ngsw_taro/items/d29e3080d9fc8a38691e
今のところlet, runだけ使ってます。
アプリのビルド設定を記述するもの。依存パッケージなどもここに書く。package.jsonみたいなもの
Gradle=ビルドツール。Android開発では標準。
Javaに似たGroovyで書けるのでmaven(xml)より良いとされる。
JVM(Java 仮想マシン)上で動作する。
companion objectはクラス内に作成されるSingleton。objectと機能は同じ。
class Hoge { object A { val fizz = "fizz" fun foo() { ... } } companion object { val buzz = "buzz" fun bar() { ... } } }
companion objectはこのクラスから呼ぶことが明白なので、オブジェクトより呼び出し方がシンプル
fun main() { // objectの場合。 val fizz = Hoge.A.fizz Hoge.A.foo() // companion objectの場合。 val buzz = Hoge.buzz Hoge.bar() }
Frontend Engineer