have. Companies using Go language include: Google, Facebook, Tencent, Qiniu Cloud, JD.com, Xiaomi, 360, Meituan, Didi, Sina, Sogou, etc. As the company that created the Go language, Google has many open source projects developed based on Go, such as kubernets and docker. JD Cloud message push system, cloud storage, JD Mall list page, etc. are all developed using Go language. Xiaomi's support for the Go language lies in the open source operation and maintenance monitoring system. In addition, Xiaomi Interactive Entertainment, Xiaomi Mall and other teams are using Go.
The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.
Go language is a programming language released by Google in 2009. Since its launch, it has quickly become popular all over the world with its efficient development efficiency and perfect running speed, and is known as the "C language of the 21st century".
Now more and more companies are beginning to use Go language to develop their own services. At the same time, many services and applications developed using Go language have been born, such as Docker, k8s, etc. Let’s take a look at what they are. Big companies are using the Go language.
1) Google
As the Google company that created the Go language, of course it will support the Go language. Google has many open source projects developed based on Go, such as kubernets and docker.
2) Facebook
Facebook is also using the Go language. For this reason, they have also established an open source organization facebookgo on Github. You can access and view Facebook's open source projects through https://github.com/facebookgo, the most representative of which is the famous smooth restart tool grace.
3) Tencent
Tencent has already implemented Docker on a scale of 10,000 units in 15 years. Because Tencent's main development language is C/C, it is much more convenient and has many advantages to use the Go language. However, the accumulated C/C code is difficult to transform and I dare not move it, so I mainly try to use Go in new businesses. .
4) Baidu
Baidu mainly uses Go language in operation and maintenance. For example, a BFE project of Baidu operation and maintenance is mainly responsible for the access of front-end traffic. Secondly, Even the server side of Baidu messaging system also uses Go language.
5) Qiniu Cloud
Qiniu Cloud is the first company in China to choose Go language as its server. As early as 2011, when the syntax of the Go language was not completely stable, Qiniu Cloud had already chosen Go as the main language of the storage server.
6) Jingdong
Jingdong Cloud message push system, cloud storage, and the list page of Jingdong Mall are all developed using Go language.
7) Xiaomi
Xiaomi’s support for the Go language lies in the open source operation and maintenance monitoring system. Its official website is http://open-falcon.org /. In addition, teams such as Xiaomi Interactive Entertainment, Xiaomi Mall, Xiaomi Video, and Xiaomi Ecological Chain are all using the Go language.
8) 360
360 There are also many uses of the Go language, such as the open source log search system Poseidon, which you can access through https://github.com/ Check Qihoo360/poseidon, and 360’s push team is also using Go language.
9) Others
In addition to the above, many companies have begun to try to use Go language, such as Meituan, Didi, Sina, etc.
Meituan: background traffic support program. Scope of application: Support the backend traffic of the main website (sorting, recommendation, search, etc.), provide load balancing, cache, fault tolerance, conditional distribution, statistical operation indicators (qps, latency) and other functions.
Didi: Basic service platform.
Sogou: Sogou push system. The part of the Push system used to maintain connections with clients.
Sina Weibo: Middleware and elastic scheduling are written in Java and Go, and Weibo video transcoding and storage services are written in Go.
. . . .
The strength of the Go language is that it is suitable for developing network concurrency services, such as message push, monitoring, containers, etc., so most companies use it on high-concurrency projects. Golang will be preferred as the development language.
【Related recommendations: Go video tutorial, Programming teaching】
The above is the detailed content of Has any company started using Go language?. For more information, please follow other related articles on the PHP Chinese website!

Gohandlesinterfacesandtypeassertionseffectively,enhancingcodeflexibilityandrobustness.1)Typeassertionsallowruntimetypechecking,asseenwiththeShapeinterfaceandCircletype.2)Typeswitcheshandlemultipletypesefficiently,usefulforvariousshapesimplementingthe

Go language error handling becomes more flexible and readable through errors.Is and errors.As functions. 1.errors.Is is used to check whether the error is the same as the specified error and is suitable for the processing of the error chain. 2.errors.As can not only check the error type, but also convert the error to a specific type, which is convenient for extracting error information. Using these functions can simplify error handling logic, but pay attention to the correct delivery of error chains and avoid excessive dependence to prevent code complexity.

TomakeGoapplicationsrunfasterandmoreefficiently,useprofilingtools,leverageconcurrency,andmanagememoryeffectively.1)UsepprofforCPUandmemoryprofilingtoidentifybottlenecks.2)Utilizegoroutinesandchannelstoparallelizetasksandimproveperformance.3)Implement

Go'sfutureisbrightwithtrendslikeimprovedtooling,generics,cloud-nativeadoption,performanceenhancements,andWebAssemblyintegration,butchallengesincludemaintainingsimplicityandimprovingerrorhandling.

GoroutinesarefunctionsormethodsthatrunconcurrentlyinGo,enablingefficientandlightweightconcurrency.1)TheyaremanagedbyGo'sruntimeusingmultiplexing,allowingthousandstorunonfewerOSthreads.2)Goroutinesimproveperformancethrougheasytaskparallelizationandeff

ThepurposeoftheinitfunctioninGoistoinitializevariables,setupconfigurations,orperformnecessarysetupbeforethemainfunctionexecutes.Useinitby:1)Placingitinyourcodetorunautomaticallybeforemain,2)Keepingitshortandfocusedonsimpletasks,3)Consideringusingexpl

Gointerfacesaremethodsignaturesetsthattypesmustimplement,enablingpolymorphismwithoutinheritanceforcleaner,modularcode.Theyareimplicitlysatisfied,usefulforflexibleAPIsanddecoupling,butrequirecarefulusetoavoidruntimeerrorsandmaintaintypesafety.

Use the recover() function in Go to recover from panic. The specific methods are: 1) Use recover() to capture panic in the defer function to avoid program crashes; 2) Record detailed error information for debugging; 3) Decide whether to resume program execution based on the specific situation; 4) Use with caution to avoid affecting performance.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version
Recommended: Win version, supports code prompts!

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
