go的 三个点 ...

这三个点,比较任性,可前可后,可攻可守。。。

举2个栗子:

1、func sub(arg ...int) (total int){}

2、argsArr = apend(argsArr[:3], argsArr[4:]...)

其中1的例子,点点在前面,表示这个arg变量,是个不定量参数,表示它会很多。

其中2的例子,点点在后面,表示这个argsArr变量,在使用了...之后,就表示它有多少,就会被打散多少。

备注:先关注实践的过程、结果,最后谈理论。

update

2017-08-29 19:39:57

上面的理解比较幼稚,缺乏源码堆积的不客观看法

其实都无需堆积源码,稍微用点心就能明白:上面的说法是错的,不管是那个,三个点都是放在了参数后面。

将三个点放在参数的后面,表示这个参数的复数状态。

原文地址:https://www.cnblogs.com/supermarx/p/6959184.html