优点
1)采用协程机制,可以很方便的支持高并发,性能还不错。
2)非常易于使用,产出效率很高。
缺点
也是协程机制。程序中一切皆协程,并且自己做了协程调度机制,而不是传统的
线程机制。导致需要精确执行的业务逻辑要小心。
比如需要精确每秒执行任务的时候,如果ticker开始执行的时候 0.998秒,
那么执行时间表可能如下:
10:00:00.998
10:00:01.999
10:00:02.998
10:00:04.002
10:00:04.998
…
这样导致精确到秒的任务,或者以秒为单位的任务会漏秒,这个地方要非常当心。
小结
所以golang最适合用的场景是高并发(或者追求开发效率),并且对执行时机不敏感的场合。