Rumah > pembangunan bahagian belakang > Golang > Bolehkah bahasa go digunakan untuk pengaturcaraan?

Bolehkah bahasa go digunakan untuk pengaturcaraan?

青灯夜游
Lepaskan: 2022-12-27 10:30:42
asal
4364 orang telah melayarinya

Bahasa Go boleh diprogramkan. Bahasa Go ialah bahasa pengaturcaraan serentak yang ditaip kuat, disusun, dengan fungsi pengumpulan sampah yang dibangunkan oleh bahasa Go mempunyai banyak kegunaan dan boleh digunakan untuk pengaturcaraan rangkaian, pengaturcaraan sistem, pengaturcaraan serentak dan pengaturcaraan teragih. Sebagai bahasa pengaturcaraan pelayan, bahasa Go sangat sesuai untuk memproses log, pembungkusan data, pemprosesan mesin maya, sistem fail, sistem teragih, ejen pangkalan data, dll. Ia juga boleh digunakan untuk pengaturcaraan rangkaian seperti aplikasi Web, aplikasi API, dan muat turun aplikasi.

Bolehkah bahasa go digunakan untuk pengaturcaraan?

Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.

Bahasa Go, juga dikenali sebagai Golang, ialah bahasa pengaturcaraan yang ditaip kuat, disusun, serentak dan pengumpulan sampah yang dibangunkan oleh Google.

Bahasa Go (atau Golang) berasal pada tahun 2007 dan dikeluarkan secara rasmi pada tahun 2009. Go ialah bahasa yang sangat muda, dan matlamat utamanya ialah untuk "menggabungkan kelajuan pembangunan bahasa dinamik seperti Python dan prestasi serta keselamatan bahasa yang disusun seperti C/C++."

Bahasa Go ialah satu lagi percubaan dalam reka bentuk bahasa pengaturcaraan dan peningkatan besar berbanding bahasa seperti C. Ia bukan sahaja membenarkan anda mengakses sistem pengendalian asas, tetapi juga menyediakan pengaturcaraan rangkaian yang berkuasa dan sokongan pengaturcaraan serentak. Bahasa Go mempunyai banyak kegunaan, dan boleh digunakan untuk pengaturcaraan rangkaian, pengaturcaraan sistem, pengaturcaraan serentak dan pengaturcaraan teragih:

  • Pengaturcaraan pelayan, jika anda menggunakan C atau C++ untuk melakukan perkara tersebut sebelum ini , gunakan Go Ia sangat sesuai untuk memproses log, pembungkusan data, pemprosesan mesin maya, sistem fail, dsb.

  • Sistem teragih, ejen pangkalan data, perisian tengah, dsb., seperti Etcd.

  • Pengaturcaraan rangkaian, kawasan ini paling banyak digunakan pada masa ini, termasuk aplikasi Web, aplikasi API, aplikasi muat turun dan pakej net/http terbina dalam Go pada asasnya menyepadukan fungsi rangkaian yang biasa kami gunakan Semua direalisasikan.

Pelancaran bahasa Go bertujuan untuk mengurangkan kerumitan kod tanpa kehilangan prestasi aplikasi, dengan "penyerahan mudah, konkurensi yang baik, reka bentuk bahasa yang baik dan prestasi pelaksanaan yang baik" Pada masa ini, banyak syarikat IT domestik telah menggunakan bahasa Go untuk membangunkan projek.

Banyak projek sumber terbuka yang penting dibangunkan menggunakan bahasa Go, termasuk Docker, Go-Ethereum, Thrraform dan Kubernetes.

Syarikat atau projek manakah di dalam dan luar negara yang menggunakan bahasa Go

Selepas Go dikeluarkan, banyak syarikat, terutamanya syarikat pengkomputeran awan, mula menggunakan Go untuk pembinaan semula Banyak infrastruktur mereka dibangunkan secara langsung menggunakan Go Docker yang popular baru-baru ini dibangunkan menggunakan Go.

Terdapat banyak projek sumber terbuka yang dibangunkan menggunakan bahasa Go. Projek sumber terbuka bahasa Early Go hanya melaksanakan pengikatan pustaka bahasa Go antara bahasa Go dan projek tradisional, seperti Qt, Sqlite, dan lain-lain turut menyumbang kepada kemunculan sejumlah besar projek pembangunan asli menggunakan bahasa Go.

  • Medan infrastruktur pengkomputeran awan

    Projek perwakilan: docker, kubernetes, etcd, consul, cloudflare CDN, storan awan Qiniu, dsb.

  • Perisian asas

    Projek perwakilan: tidb, influxdb, cockroachdb, dsb.

  • Perkhidmatan Mikro

    Projek wakil: go-kit, mikro, typhon of monzo bank, bilibili, dsb.

  • Infrastruktur Internet

    Projek wakil: Ethereum, hyperledger, dsb.

Sesetengah syarikat asing menggunakan Go, seperti Google, Docker, Apple, Cloud Foundry, CloudFlare, Couchbase, CoreOS, Dropbox, MongoDB, AWS dan syarikat lain;

Syarikat domestik yang menggunakan pembangunan Go: syarikat seperti Alibaba Cloud CDN, Baidu, Xiaomi, Qiniu, PingCAP, Huawei, Kingsoft, Cheetah Mobile, Ele.me, dsb.

Bolehkah bahasa go digunakan untuk pengaturcaraan?

Docker

Docker ialah teknologi virtualisasi peringkat sistem pengendalian yang boleh Pengasingan antara mereka juga boleh dipanggil bekas . Docker boleh menjalankan satu atau lebih keadaan dengan cepat pada pelayan fizikal. Alat pembungkusan maya berdasarkan lxc boleh merealisasikan pembinaan platform PAAS. Sebagai contoh, mulakan sistem pengendalian CentOS dan tamatkannya selepas melaksanakan arahan pada baris arahan dalamannya Keseluruhan proses adalah cekap seperti sistem pengendalian itu sendiri.

bahasa go

Kod sumber awal bahasa Go sendiri ditulis dalam bahasa C dan bahasa himpunan. Bermula dari versi Go 1.5, ia ditulis sepenuhnya dalam bahasa Go itu sendiri. Kod sumber bahasa Go mempunyai kepentingan rujukan yang besar untuk memahami penjadualan asas bahasa Go. Pembaca yang ingin memahami bahasa Go disyorkan untuk membacanya.

Kubernetes

Perkhidmatan penjadualan kontena yang dibina pada Docker yang dibangunkan oleh Google Pengguna boleh mengurus gugusan kontena awan melalui gugusan Kubernetes.

etcd

Sistem storan KV yang diedarkan dan boleh dipercayai yang boleh dikonfigurasikan dengan cepat dalam awan.

beego

beego ialah rangka kerja Tornado seperti Python yang menggunakan idea reka bentuk RESTFul dan merupakan rangka kerja aplikasi web yang sangat ringan, berskala tinggi dan berprestasi tinggi yang ditulis dalam bahasa Go.

martini

Rangka kerja web untuk membina aplikasi web modular dengan cepat.

codis

Penyelesaian Redis teragih domestik yang sangat baik.

selidiki

Penyahpepijat kuat bahasa Go disepadukan oleh banyak persekitaran dan editor bersepadu.

Facebook

Facebook juga menggunakannya Atas sebab ini, mereka juga telah menubuhkan organisasi sumber terbuka facebookgo di Github Anda boleh menyemak projek sumber terbuka Facebook melawat, seperti Yang terkenal ialah rahmat naik taraf yang lancar.

Tencent

Sebagai sebuah syarikat domestik yang besar, Tencent masih berani mencuba, terutamanya dalam bidang kontena Docker Mereka telah membina puluhan ribu unit Docker pada tahun 2015 . Untuk amalan khusus, sila rujuk

http://www.infoq.com/cn/articles/tencent-millions-scale-docker-application-practice

Baidu

Seperti yang diketahui pada masa ini, Baidu digunakan pada bahagian operasi dan penyelenggaraan Ia adalah projek BFE bagi operasi dan penyelenggaraan Baidu, yang bertanggungjawab untuk akses trafik bahagian hadapan. Orang yang bertanggungjawab mereka berkongsinya pada tahun 2016. Anda boleh lihat di http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend ini

Yang kedua ialah sistem Pemesejan Baidu. Bertanggungjawab untuk pembangunan dan penyelenggaraan bahagian pelayan sistem pemesejan mudah alih syarikat.

Jingdong

Sistem tolak mesej Awan Jingdong, storan awan dan Jingdong Mall semuanya dibangunkan menggunakan Go.

Xiaomi

Sokongan Xiaomi untuk Golang tidak lebih daripada sistem pemantauan operasi dan penyelenggaraan sumber terbuka, iaitu http://open-falcon.com/.

Selain itu, pasukan seperti Xiaomi Interactive Entertainment, Xiaomi Mall, Xiaomi Video dan Xiaomi Ecological Chain semuanya menggunakan Golang.

360

360 juga banyak menggunakan Golang Salah satunya ialah sistem carian log sumber terbuka Poseidon, dihoskan pada Github,

dan pasukan tolak 360. juga menggunakannya, dan mereka juga menulis catatan blog di blog rasmi Golang.

Meituan

Program sokongan trafik latar belakang Meituan. Skop aplikasi: Menyokong trafik bahagian belakang tapak web utama (isih, pengesyoran, carian, dll.), menyediakan pengimbangan beban, cache, toleransi kesalahan, pengedaran bersyarat, penunjuk operasi statistik (qps, latensi) dan fungsi lain.

Didi

Platform perkhidmatan asas.

Jinshan Weikan

Skop aplikasi: antara muka perkhidmatan, perkhidmatan proses latar belakang, sistem mesej, sistem gambar

Sogou

Sistem tolak Sogou. Bahagian sistem Push yang digunakan untuk mengekalkan sambungan dengan pelanggan.

. . . . .

Ditulis pada penghujungnya

Sudah tentu, sama ada sesuatu teknologi boleh dibangunkan bergantung pada tiga perkara utama. (Pandangan berikut dipetik daripada https://www.cnblogs.com/qwangxiao/p/8318894.html)

• Adakah terdapat komuniti yang lebih baik. Ekosistem C, C++, Java, Python dan JavaScript semuanya sangat kaya dan popular. Terutamanya komuniti dengan banyak organisasi komersial yang mengambil bahagian adalah lebih popular, seperti komuniti Linux.

• Adakah terdapat piawaian industri ? C, C++ dan Java semuanya mempunyai organisasi standardisasi. Java, khususnya, telah membangunkan piawaian peringkat perusahaan seperti J2EE dari segi seni bina.

• Adakah terdapat satu atau lebih apl pembunuh . Tidak perlu dikatakan, aplikasi pembunuh C, C++ dan Java, walaupun untuk PHP, yang belum menjadi bahasa pengaturcaraan yang baik, adalah teknologi utama dalam LAMP, penyelesaian pembunuh pertama dalam era Linux, jadi, juga dibangunkan. Tiga mata di atas adalah sangat kritikal .

Sudah tentu, sebagai tambahan kepada tiga perkara penting di atas, terdapat faktor lain yang mempengaruhi, seperti:

  • Sama ada keluk pembelajaran rendah dan sama ada ia pantas untuk bermula. Ini sangat penting, dan C++ semakin teruk pada ketika ini.
  • Adakah terdapat rangka kerja pembangunan yang baik untuk meningkatkan kecekapan pembangunan. Seperti: rangka kerja Spring Java, STL C++, dsb.
  • Sama ada ia disokong oleh satu atau lebih syarikat teknologi gergasi . Contohnya: IBM dan Sun di belakang Java dan Linux...
  • Adakah mereka telah menyelesaikan masalah kesakitan dalam pembangunan perisian? Contohnya: Java menyelesaikan masalah pengurusan memori C dan C++.

Menggunakan pembaris ini untuk mengukur bahasa Go, kita dapat melihat dengan jelas:

  • Bahasa Go mudah dipelajari

  • Bahasa Go menyelesaikan masalah pengaturcaraan serentak dan kecekapan pembangunan aplikasi peringkat rendah;

  • Aplikasi pembunuh bahasa Go ialah Docker, dan ekosistem Docker telah meletup sepenuhnya dalam beberapa tahun kebelakangan ini.

Jadi, masa depan bahasa Go adalah tanpa had. Sudah tentu, Go mungkin memakan banyak projek C, C++ dan Java. Walau bagaimanapun, Projek utama yang ditelan oleh bahasa Go mestilah projek lapisan pertengahan, bukan peringkat sangat rendah mahupun lapisan perniagaan. Dalam erti kata lain, bahasa Go tidak akan menelan projek peringkat rendah seperti C dan C++, dan juga tidak akan menelan projek peringkat tinggi seperti lapisan perniagaan Java. Perkara yang boleh dimakan oleh bahasa Go mestilah projek pada PaaS, seperti beberapa perisian tengah cache mesej, penemuan perkhidmatan, ejen perkhidmatan, sistem kawalan, ejen, pengumpulan log, dll. Tiada senario perniagaan yang rumit dan ia tidak dapat mencapai lapisan bawah khas ( seperti sistem pengendalian), projek perisian atau alat yang merupakan lapisan platform perantaraan. C dan C++ akan dialihkan ke tahap yang lebih rendah, dan Java akan dialihkan ke lapisan perniagaan yang lebih tinggi.

Baiklah, mari kita gunakan pembaris di atas untuk mengukur Docker, aplikasi pembunuh bahasa Go, dan anda akan mendapati bahawa ia pada dasarnya adalah sama.

  • Docker mudah untuk dimulakan.

  • Docker menyelesaikan masalah alam sekitar dalam operasi dan penyelenggaraan dan titik kesakitan penjadualan perkhidmatan.

  • Ekosistem Docker mempunyai syarikat besar di belakangnya. Seperti Google.

  • Docker menghasilkan OCI standard industri.

  • Komuniti dan ekosistem Docker telah pun terbentuk seperti Java dan Linux.

[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]

Atas ialah kandungan terperinci Bolehkah bahasa go digunakan untuk pengaturcaraan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan