A. Go history
To understand a language, the development of his history.
Here is a brief introduction to the key node of its historical year.
1. Milestones
Go is also called Golang
- originated in 2007
- 2009 Initial Public release
- 2010 Google put into use
- 2011 Supported by Google AppEngine
- 2012 Official Edition Go1
- 2015 released Go1.5, removed "Last remaining C code"
- Currently the latest version is Go1.10
Have to say go is a very young language, is a 00 after.
Two. Go features
We learn a language for a variety of reasons, he will be a variety of reasons.
Now that I have a wish to understand go, I must first know that the language has those features, or that there are some interesting places to say.
1. High efficiency
-Images from Baidu
Go is known as the "C language of the 21st century".
Just like the Logo of Go language, the meaning of this cute short-legged hamster, the go language is very fast, his rapid expression in two aspects:
- High development efficiency
- Fast running speed
On whether to choose the speed of development or the implementation of the problem, Go to choose a compromise, he is to develop speed, but also the speed of execution.
To raise a green chestnut: yards faster than C + +, run faster than Python, the general meaning is right, about the more detailed differences need to understand deeply.
2. Simple deployment
Go does not allow additional references, and after its compilation The build generates an executable file that requires little external dependencies
3. Concurrency support
Go native support concurrency.
If we write a multithreaded project in C # (seaconch. net), then we need to think about a lot of things, and it can be cumbersome to encode.
However, this can be a lot easier for Go.
4. Coding Experience
Go is a static language and is a compiled language, but it is built quickly and has a large number of packages to use.
The goal of the Go language is to combine the security and efficiency of static language with the easy development of dynamic language.
5. Code formatting
The Go Format command (GOFMT) allows you to keep your code style uniform and readable.
6.UTF-8 encoding
Go fully supports UTF-8, Go's source format is UTF-8.
7.GC
Go already has a garbage collection mechanism
Three. Go missing
Seaconch is known to be listed as follows:
- function (method) overloading is not supported
- Implicit conversions are not supported
- Generics are not supported
- Static variables are not supported
Four. Applicable scenarios
A relatively large number of scenarios are obtained based on Seaconch lookup:
- Network Programming
- distributed programming
- Server programming