golang算法组合