Section 01 Introduction to Go Language

Section 01 Introduction to Go Language

Contents of this section:

  • Introduction to Go.
  • Go language application.
  • Go successful project.
  • Why choose the Go language.
  • Summary of Go language features .

1.1 Introduction to Go

**Go (or Golang)** is an open source programming language developed by Google in 2007.

On November 10, 2009, the Google Open Source Blog released the language to the world.

The main goal of Go is to combine the development speed of dynamic statements such as Python with the performance and security of compiled languages ​​such as C/C++ .

1.2 Go language application

1.3 Go successful projects

  • nsq: Bitly's open source message queuing system has very high performance. Currently, they process billions of messages every day.

  • docker: A virtual packaging tool based on lxc, which can realize the formation of PAAS platform.

  • packer: Used to generate image files for different platforms, such as VM, vbox, AWS, etc. The author is the author of vagrant.

  • skynet: Distributed scheduling framework.

  • Doozer: A distributed synchronization tool, similar to ZooKeeper.

  • Heka: Mazila's open source log processing system.

  • cbfs: Couchbase open source distributed file system.

  • tsuru: The open source PAAS platform has exactly the same functions as SAE.

  • groupcache: A caching system for Google's download system written by the author of memcahe.

  • god: A cache system similar to redis, but supports distribution and scalability.

  • gor: Network traffic capture and replay tool.

1.4 Why choose Go language

C/C++ questions:

  • Low development efficiency and high requirements for developers
  • libc is only backward compatible, and operation and maintenance are difficult

Problems with Lua/Python:

  • Dynamic language, lack of compilation process, frequent low-level errors
  • Lack of effective performance analysis and debugging tools

1.5 Summary of Go language features

  1. With a C foundation, learning Golang is very easy.
  2. The synchronization method can easily achieve high concurrency.
  3. The code is concise, the format is uniform, and it is easy to read.
  4. While the performance is strong, the development efficiency is not inferior to dynamic languages ​​such as Python.

Go language learning course:
Go language zero-based hands-on introduction

Guess you like

Origin blog.csdn.net/chg2663776/article/details/123818281