golang语言优缺点 以及 性能知识点

优点

  1. 并发简单、效率高
  2. 函数可以返回多个参数
  3. 垃圾回收(相比c/c++。不过java、c#都有这个优势)
  4. 简单易上手,语言特性少(也算缺点)

缺点

  1. 没有继承,只有组合
  2. 没有异常处理(panic可以recover,通过Stack()打印栈信息)
  3. 不支持泛型,导致很多接口得写多遍
  4. 原生数据结构太简单,没有sort map 、set、list等
  5. 不支持参数重载函数
  6. 访问权限太简单,public和private两种
  7. 没有默认参数
  8. 没有异常处理,空指针也会导致宕机(不像c#、java可以catch空指针异常,不像c++可以大量实用引用减少空指针问题;大型项目,一旦空指针就宕服。。。)

性能相关

  1. select中的channel越少越好,每增一个channel,会导致每次select耗时增加100-200ns
  2. 大小为1的channel比无大小的channel快

你可能感兴趣的:(golang)