kotlinのメモです。
1109 views
kotlinでは以下のように配列などをforeachで処理することが多い。
- val data = arrayOf(1,2,3)
- data.forEach{
- println(it)
- }
このforeachの正体は一体何なのかという質問を受けた。
正体は関数コールバック。
C言語をやっている人なら以下のコードを見れば、大方理解できるはず。
- fun myForEach(callback:(value:Int)->Unit){
- val data = arrayOf(1,2,3)
- for(i in 0 until data.count()) {
- callback(data[i])
- }
- }
- fun get(value:Int) {
- println(value)
- }
- fun main(args:Array<String>){
- //C言語チックに書いてみた
- myForEach(::get)
- //kotlinだとこう書く。
- myForEach(){
- println(it)
- }
- //kotlinだとこうも書く。
- myForEach {
- println(it)
- }
- }
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/