Rumah >masalah biasa >Apa yang golang buat?
Golang ialah bahasa yang sangat muda Matlamat utamanya ialah untuk menggabungkan kelajuan pembangunan bahasa dinamik seperti Python dengan prestasi dan keselamatan bahasa yang disusun seperti C/C++. Sebagai bahasa pengaturcaraan pelayan, bahasa Go sangat sesuai untuk memproses log, pembungkusan data, pemprosesan mesin maya, sistem fail, sistem teragih, ejen pangkalan data, dll. Bahasa Go digunakan secara meluas dalam aplikasi Web, aplikasi API, aplikasi muat turun, dsb. Selain itu, bahasa Go juga sesuai untuk pangkalan data dalam memori dan medan platform awan Pada masa ini, banyak platform awan asing dibangunkan menggunakan Go.
Persekitaran pengendalian tutorial ini: sistem Windows 10, golang versi 1.20.1, komputer DELL G3.
Apa itu golang?
Pengenalan kepada bahasa Go
Bahasa Go (atau Golang) berasal pada tahun 2007 dan dikeluarkan secara rasmi pada tahun 2009. Go ialah bahasa yang sangat muda, dan matlamat utamanya adalah untuk "mempunyai kedua-dua Python dan Kelajuan pembangunan bahasa dinamik dan prestasi serta keselamatan bahasa yang disusun seperti C/C++".
Bahasa Go ialah satu lagi percubaan pada reka bentuk bahasa pengaturcaraan dan peningkatan besar kepada bahasa seperti C. Ia bukan sahaja membolehkan anda mengakses sistem pengendalian asas dan juga menyediakan pengaturcaraan rangkaian yang berkuasa dan sokongan pengaturcaraan serentak The Go mempunyai banyak kegunaan dan boleh digunakan untuk pengaturcaraan rangkaian, pengaturcaraan sistem, pengaturcaraan serentak dan pengaturcaraan teragih >
Pelancaran bahasa Go , yang bertujuan untuk mengurangkan kerumitan kod tanpa kehilangan prestasi aplikasi. banyak IT domestik Syarikat itu telah menggunakan bahasa Go untuk membangunkan projek. Bahasa Go kadangkala digambarkan sebagai "bahasa seperti C", atau "bahasa C abad ke-21". Pergi Ia mewarisi sintaks ungkapan yang serupa, struktur aliran kawalan, jenis data asas, pemindahan nilai parameter panggilan, petunjuk dan banyak idea lain daripada bahasa C Ia juga mempunyai kecekapan menjalankan kod mesin yang dikompilasi dan operasi sedia ada yang selalu dimiliki oleh bahasa C dihargai. Oleh kerana bahasa Go tidak mempunyai konsep kelas dan warisan, ia adalah sama seperti Java atau C++ Mereka tidak kelihatan sama. Tetapi ia mencapai polimorfisme melalui konsep antara muka. Bahasa Go mempunyai sistem jenis ringan yang jelas dan mudah difahami, dan tiada hierarki antara jenis. Oleh itu, boleh dikatakan bahawa bahasa Go adalah bahasa hibrid. Selain itu, banyak projek sumber terbuka yang penting dibangunkan menggunakan bahasa Go, termasuk Docker, Go-Ethereum, Thrraform dan Kubernetes.Mengapa kami memilih bahasa Go
Mungkin terdapat banyak sebab untuk memilih bahasa Go Berkenaan ciri dan kelebihan bahasa Go, kami juga telah menyebutnya sebelum ini dokumen Banyak telah diperkenalkan. Tetapi sebab utama harus berdasarkan dua pertimbangan berikut: Prestasi pelaksanaanLagipun, ia adalah kelajuan pelaksanaan seperti C Bagi sesetengah perkhidmatan, prestasi adalah bahagian yang sangat penting, berkaitan kepada pemprosesan sistem dan kelewatan akses, yang seterusnya akan menjejaskan pengalaman pengguna Bahasa Go boleh dengan mudah melaksanakan pemprosesan selari melalui coroutine untuk memaksimumkan kecekapan pemprosesan. , meningkatkan kapasiti pemprosesan sistem. Kecekapan pembangunanBahasa GO mudah digunakan, mempunyai kecekapan perihalan kod yang tinggi, standard pengekodan bersatu dan cepat untuk bermula. Dengan sejumlah kecil kod, penyeragaman rangka kerja boleh dicapai, pelbagai komponen umum dan perpustakaan kelas awam boleh dibina dengan cepat, meningkatkan lagi kecekapan pembangunan dan mencapai pengeluaran besar-besaran fungsi dalam senario tertentu.Apa yang boleh dilakukan oleh bahasa Go
Bahasa Go telah menarik perhatian ramai pembangun dan telah digunakan secara meluas sejak keluaran versi 1.0 Ciri kesederhanaan, kecekapan dan keselarasan bahasa telah menarik ramai pembangun bahasa tradisional untuk menyertai, dan bilangannya semakin meningkat. Memandangkan ciri-ciri bahasa Go dan niat asal reka bentuknya, bahasa Go, sebagai bahasa pengaturcaraan pelayan, sangat sesuai untuk memproses log, pembungkusan data, pemprosesan mesin maya, sistem fail, sistem teragih , ejen pangkalan data, dll. dari segi pengaturcaraan rangkaian, bahasa Go digunakan secara meluas di Web Aplikasi, aplikasi API, aplikasi yang dimuat turun, dsb. sebagai tambahan, bahasa Go juga sesuai untuk pangkalan data dalam memori dan medan platform awan Pada masa ini, banyak platform awan asing dibangunkan menggunakan Go. Pengaturcaraan pelayan, jika anda menggunakan C atau C++ untuk melakukan perkara tersebut sebelum ini, ia sangat sesuai digunakan Go to do it, seperti pemprosesan log, pembungkusan data, maya pemprosesan mesin, sistem fail tunggu. Sistem teragih, ejen pangkalan data, perisian tengah, dsb., seperti Etcd. Pengaturcaraan rangkaian pada masa ini merupakan kawasan yang paling banyak digunakan, termasuk aplikasi Web, aplikasi API, aplikasi muat turun dan pakej net/http terbina dalam Go pada asasnya melaksanakan semua fungsi rangkaian yang biasa kami gunakan. Operasi pangkalan dataMembangunkan platform awan Pada masa ini, banyak platform awan asing menggunakan Go untuk pembangunanApa syarikat atau projek domestik dan asing yang menggunakan bahasa GoGo Selepas dikeluarkan, banyak syarikat, terutamanya syarikat pengkomputeran awan, mula menggunakan Go untuk membina semula infrastruktur mereka, kebanyakannya telah dibangunkan secara langsung menggunakan Go. [Cadangan berkaitan: Pergi tutorial video]
Terdapat banyak projek sumber terbuka yang dibangunkan menggunakan bahasa Go. Projek sumber terbuka bahasa Early Go hanya melaksanakan pengikatan perpustakaan bahasa C antara bahasa Go dan projek tradisional, seperti Qt, Sqlite, dll.;
Banyak projek kemudian menggunakan bahasa Go untuk pelaksanaan semula asli berbeza daripada Bahasa lain adalah lebih mudah, yang turut menyumbang kepada kemunculan sejumlah besar projek pembangunan asli menggunakan bahasa Go.
Contohnya, Alibaba Middleware, Jumei Youpin, Gaosheng Holdings, Tantan, Douyu Live, Renrenche, AsiaInfo, Udesk, Fangfutong, Lucky Cat, Sany Group, Meifan.com, dsb. Pilihan umum ialah memilih sistem produk yang sesuai untuk syarikat anda, seperti tolak mesej, pemantauan, bekas, dll. Golang amat sesuai untuk perkhidmatan penyelarasan rangkaian, jadi ia juga digunakan terlebih dahulu projek. Sebagai bahasa pembangunan projek berskala besar, bahasa Go telah digunakan dalam banyak syarikat besar, malah telah beralih sepenuhnya kepada pembangunan Go.
Ditulis pada penghujung
Sudah tentu, sama ada sesuatu teknologi boleh dibangunkan bergantung kepada tiga perkara utama. (Pandangan berikut dipetik daripada https://www.cnblogs.com/qwangxiao/p/8318894.html)
• Adakah terdapat komuniti yang lebih baik? Seperti C, C++, Java, Python dan JavaScript Ekosistem ini 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 apl atau apl pembunuh? Tidak perlu dikatakan, aplikasi pembunuh C, C++ dan Java, walaupun untuk PHP, yang bukan bahasa pengaturcaraan yang baik, kerana ia Oleh itu, teknologi utama dalam LAMP, penyelesaian pembunuh pertama dalam era Linux, juga telah berkembang. Tiga mata di atas adalah sangat kritikal .
Sudah tentu, sebagai tambahan kepada tiga perkara penting di atas, terdapat juga 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 dimulakan;
Bahasa Go menyelesaikan masalah pengaturcaraan serentak dan rendah pembangunan aplikasi peringkat Titik kecekapan yang menyakitkan;
Bahasa Go disokong oleh Google, sebuah syarikat teknologi bertaraf dunia;
Aplikasi pembunuh bahasa Go ialah Docker dan Docker ekosistem 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, Pergi Projek utama yang ditelan oleh bahasa itu mestilah projek lapisan pertengahan, bukan peringkat sangat rendah mahupun lapisan perniagaan. Dalam erti kata lain, bahasa Go tidak akan menelan lapisan bawah ke tahap C dan C++, dan juga tidak akan menelan lapisan peringkat tinggi seperti Projek lapisan perniagaan Java. Apa yang boleh dimakan oleh bahasa Go mestilah PaaS Projek di Internet, seperti beberapa perisian tengah caching mesej, penemuan perkhidmatan, ejen perkhidmatan, sistem kawalan, ejen, pengumpulan log, dll., tidak mempunyai proses perniagaan yang rumit. Dalam senario perniagaan, projek perisian atau alatan pada lapisan platform tengah lapisan bawah khas (seperti sistem pengendalian) tidak dapat dicapai. 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 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 melihat trend yang serupa dengan Java dan Linux.
Atas ialah kandungan terperinci Apa yang golang buat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!