Golang语言特性笔记 | 青训营

66 阅读1分钟

1. Golang语言特性

1.1 Golang的优势

  1. 部署简单
    • 可直接编译成机器码执行
    • 不依赖其他库
    • 直接运行即可部署
  2. 静态类型语言
    • 编译时即可检查出来隐藏的大多数问题
  3. 语言层面的并发
    • 天生底层的支持
    • 充分利用多核性能
  4. 强大的标准库
    • runtime系统调度机制
    • 高效的GC垃圾回收
    • 丰富的标准库
  5. 简单易学
    • 仅25个关键字
    • C语言简洁基因,内嵌C语法支持
    • 面向对象特征
    • 支持跨平台
  6. 大厂认可
    • 字节跳动已经全面拥抱了go 语言,公司内部有上万个微服务使用 golang 来编写,不久前也开源了GO RPC框架KiteX
    • 腾讯、百度、美团、滴滴、深信服、OPPO、去哪儿、360、七牛等公司也在大量使用go语言

1.2 Golang适合做什么

  1. 云计算基础设施领域
    • docker
    • kubernetes
    • etcd
    • consul
    • cloudflare CDN
    • 七牛云存储
  2. 基础后端软件
    • tidb
    • influxdb
    • cockroachdb
  3. 微服务
    • go-kit
    • micro
  4. 互联网基础设施
    • 以太坊
    • hyperledger

1.3 Golang的不足

  • 包管理,大部分在github上
  • 无泛化类型
  • 所有Exception都用Error来处理(有争议)
  • 对C降级处理,并非无缝衔接,存在序列化问题