`()=> Unit`是什么意思?

Jes*_*ose 3 syntax types scala

就像问题所说的那样.

发现List[() => Unit]它用于存储回调函数.

我理解List[type],这Unit是一个函数的返回类型,不返回任何东西.

sep*_*p2k 8

(T1,...,Tn) => T是称取的类型的参数的函数的类型T1通过Tn和返回类型T.所以() => Unit是不带参数,并有返回值类型单位的职能类型.因此List[() => Unit]是包含这些功能的列表类型.

  • @aitchnyu No.如果你有一个列表类型`List [(T1,T2)=> Unit]`那么该列表存储带有两个参数的函数(第一个具有类型T1和第二个T2)并返回类型Unit.所以你可以在其中存储一个定义为`f(x:T1,y:T2):Unit`的函数,但不能存储一个定义为`f(x:T1)`或`f(y:T2)`的函数.同样,类型为`List [()=> Unit]的列表仅存储完全不带参数的函数. (2认同)