Processing math: 100%

初心者用kotlin

kotlinのメモです。

1109 views

お題

kotlinでは以下のように配列などをforeachで処理することが多い。

  1. val data = arrayOf(1,2,3)
  2. data.forEach{
  3. println(it)
  4. }

このforeachの正体は一体何なのかという質問を受けた。

結論

正体は関数コールバック。
C言語をやっている人なら以下のコードを見れば、大方理解できるはず。

  1. fun myForEach(callback:(value:Int)->Unit){
  2. val data = arrayOf(1,2,3)
  3. for(i in 0 until data.count()) {
  4. callback(data[i])
  5. }
  6. }
  7. fun get(value:Int) {
  8. println(value)
  9. }
  10. fun main(args:Array<String>){
  11. //C言語チックに書いてみた
  12. myForEach(::get)
  13. //kotlinだとこう書く。
  14. myForEach(){
  15. println(it)
  16. }
  17. //kotlinだとこうも書く。
  18. myForEach {
  19. println(it)
  20. }
  21. }

解説

1行目のmyForEach関数の引数に関数を指定できるようにしておく。
4行目で、引数に渡されたコールバック関数に値を渡す。
8~10行目は、コールバックされる関数を書いている。
15行目はC言語チックに関数コールバックを使ってget関数を呼び出している。
18行目~20行目は、関数コールバックを使わずに、kotlinっぽく書いているが、やっていることは15行目と同じ。
同様に23行目~24行目もkotlinっぽく関数コールバックを使わずに指定している。

基本的には23~25行目の書き方をすることが多い(私見)。

以上。

Page 24 of 36.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626