对函数里面的引用不太理解,和创建一个map的时候,value的值怎么是返回的一个方法呢?

来源:3-7 本章小结

宝慕林4277269

2021-03-11

val x:(Foo,String,Long) ->Any =Foo::bar
val x0:Function3<Foo,String,Long,Any> = Foo::bar

val y :(Foo,String,Long) ->Any = x
val z:Function3<Foo,String,Long,Any> = x
上面几个写法主要用来干什么,有什么用?

val operator = mapOf(
"+" to ::plus,
"-" to ::minus,
"*" to ::times,
"/" to ::divs)

val ops = args[1]
val opFunc = operator[ops] ?: return showHelp()
这里为什么opFunc又是一个函数啦,mapof里面的value怎么可以传一个函数进去呢,是什么意思啊?
写回答

2回答

bennyhuo

2021-03-12

前面的几个变量声明你如果不能理解的话,后面的肯定搞不懂。

你现在要搞清楚一件事儿,函数也是一种类型,任意函数都像字符串整型那样,具有自己的类型,也可以存到变量当中。

2
0

bennyhuo

2021-03-12

仔细想想,也动手实践一下,这个概念一开始没那么容易接受。

1
0

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1777 学习 · 487 问题

查看课程