Suitable projects for go language include: 1. Server programming, such as log processing, data packaging, virtual machine processing, file systems, etc.; 2. Distributed systems, database agents, middleware, etc.; 3. Network Programming, including Web applications, API applications, download applications, and Go's built-in net/http package basically implements all the network functions we usually use; 4. Database operations; 5. Cloud platform development; 6. Game services terminal development.
The operating environment of this tutorial: Windows 7 system, GO version 1.20, Dell G3 computer.
Go (also known as Golang) is a statically strongly typed, compiled language developed by Robert Griesemer, Rob Pike and Ken Thompson of Google. The Go language syntax is similar to C, but its functions include: memory safety, GC (garbage collection), structural form and CSP-style concurrent computing.
The Go language is mainly used for server-side development. It is positioned to develop "large-scale software". It is suitable for many programmers to develop large-scale software together. It has a long development cycle and supports cloud computing network services. The Go language allows programmers to develop quickly, and as the software continues to grow, it makes it easier for programmers to maintain and modify it. It combines the efficiency of traditional compiled languages with the ease of use and expressiveness of scripting languages.
As a server programming language, Go language is very suitable for processing logs, data packaging, virtual machine processing, file systems, distributed systems, database agents, etc.; in terms of network programming, Go language is widely used in Web applications and API applications. , download applications, etc.; in addition, the Go language can also be used in the field of memory databases and cloud platforms. Currently, many foreign cloud platforms are developed using Go.
Applicable projects:
#1. Server programming. If you used C or C to do those things before, it is very suitable to use Go to do them. , such as processing logs, data packaging, virtual machine processing, file systems, etc.
2. Distributed systems, database agents, middleware, etc., such as Etcd.
3. Network programming, this area is currently the most widely used, including Web applications, API applications, download applications, and Go’s built-in net/http package basically uses what we usually use All network functions are implemented.
4. Database operation
5. Cloud platform. Currently, many foreign cloud platforms are developed using Go. It is partly formed by CloudFoundy and the former VMare The technical director himself came up with the apcera cloud platform.
#6. Development of game server.
Go language success story
Nsq: Nsq is a high-performance, high-availability message queue system developed by the Go language. It has very high performance. Can handle billions of messages every day;
Docker: a virtual packaging tool based on lxc, which can realize the establishment 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: Distributed synchronization tool, similar to ZooKeeper
Heka: mazila open source log processing system
Cbfs: couchbase open source distributed file system
Tsuru: open source PAAS platform, and The functions implemented by SAE are exactly the same
Groupcache: a caching system for Google download system written by the author of memcahe
God: a caching system similar to redis, but supports distribution and scalability
Gor: Network traffic packet capture and replay tool
Go language, as a large-scale project development language, has been used by many large companies, and even completely turned to Go development, among which representatives include Google, Facebook, Tencent, Baidu, Alibaba, JD.com, Xiaomi, 360, Meituan, Didi and Sina, etc. Therefore, the development prospects of Go language are still very good!
The above is the detailed content of What projects is the go language suitable for?. For more information, please follow other related articles on the PHP Chinese website!