1. go 学习笔记

Go 是一种开源编程语言,可以轻松构建简单,可靠,高效的软件.

Google 出品,必属精品,出身名门的 Go 语言天生支持并发,近年甚为流行.

go-index-logo-old.png

1.1. 诞生背景

为了解决 Google 在软件开发中遇到的困难,三位创始人开发出了 Go 语言,主要是以下问题:

  • 多核硬件架构
  • 超大规模的分布式计算集群
  • Web 模式导致的前所未有的开发规模和更新速度

这些也是广大的互联网公司遇到的问题,越来越多的国内公司也开始广泛使用 Go 语言开发,比如熟悉的DockerK8s 也是 Go 语言开发的,也是 Go 语言被称为云端开发语言的原因之一.

1.2. 语言特点

Go 语言是云计算时代的 C 语言也称为21 世纪的 C 语言,由此可见,Go 的地位非同一般.

Go 语言的诞生是为了提高生产效率,专门对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全,支持并行进程.

  • 运行效率高,开发高效,部署简单.

运行效率高是因为编译性语言与解释性语言相比,开发高效是语法简单,部署简单是直接部署编译后的程序.

  • 语言层面支持并发,易于利用多核实现并发.

不同于 php,只需要 go 配合 channel 即可完成进程或线程所做的工作.

  • 内置 runtime 并支持垃圾回收

类似 Java 虚拟机支持垃圾回收,不必手动进行内存管理.

  • 简单易学,丰富的标准库,强大的网络库.

学习成本低,语法简单但表达能力强,支持函数式编程,面向对象编程等多种编程范式.

  • 内置强大的工具(gofmt),跨平台编译,内嵌C支持.

不同的人有不同的代码风格,可转化统一风格

go-index-logo-new.png

1.3. 知名应用

  • Docker : 是为开发人员构建和运行应用程序而构建的平台

go-index-docker.png

https://www.docker.com/

  • Kubernetes : 自动化容器部署,扩展,管理的应用程序

go-index-k8s.png

https://kubernetes.io/

  • Etcd : 分布式键值对存储系统

go-index-etcd.png

https://etcd.io/

1.4. 学习文档

作者: 雪之梦技术驿站
链接: https://snowdreams1006.github.io/go/
来源: 雪之梦技术驿站
本文原创发布于「雪之梦技术驿站」,转载请注明出处,谢谢合作!

https://snowdreams1006.github.io/snowdreams1006-wechat-open.png

© snowdreams1006 all right reserved,powered by Gitbook文件修订时间: 2019-11-01 19:34:36

results matching ""

    No results matching ""