Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa semakin banyak syarikat Internet utama mula menggunakan bahasa Go?

Mengapa semakin banyak syarikat Internet utama mula menggunakan bahasa Go?

PHPz
PHPzasal
2023-03-24 10:58:341437semak imbas

Mengapa semakin banyak syarikat Internet utama mula menggunakan bahasa Go?

Semakin banyak syarikat Internet utama mula menggunakan Go语言, seperti Tencent, Meituan, Didi, Baidu, Google, bilibili...

dan ByteDance, yang pada mulanya menggunakan Python, malah telah menerima sepenuhnya Go. Begitu banyak syarikat terkemuka dalam dan luar negara mula menggunakannya. Apakah kelebihannya? Sekarang mari kita bercakap tentang beberapa kelebihannya.

ps: Sudah tentu, terdapat juga Go-To-Byte ahli yang ingin mempelajari bahasa Go dan menggunakannya untuk menyiapkan projek besar dalam kem latihan belia~

Beberapa kelebihan Pergi

Bercakap tentang kelebihan, dalam beberapa aspek ia mungkin kerana ia mempunyai beberapa ciri yang orang lain tidak miliki, atau ia mengoptimumkan kawasan yang menyusahkan orang lain, jadi ia lebih baik daripada yang lain. Kemudian mari kita lihat beberapa ciri Go, tetapi sebelum memahami ciri tumpul, mari kita lihat beberapa bahasa biasa yang lain:

Beberapa bahasa biasa

Ini bukan perbandingan, ia bukan tentang siapa yang baik atau buruk, tetapi kuda yang menyeberangi sungai, ia berbeza dari orang ke orang ke orang ~

1. >

telah dicipta oleh pakar C语言Ken Thompson dan Dennis Ritchie pada tahun 1971, dan salah satu pembangun terkemuka ialah Go语言Ken Thompson, jadi di Banyak tempat adalah serupa dengan bahasa C (比如struct、Printf、&取值符)

juga digunakan sebagai bahasa untuk ramai pemula Semuanya C/C++ disusun terus ke dalam kod mesin , jadi kecekapan pelaksanaan. akan menjadi lebih tinggi, dan Mereka tidak memerlukan persekitaran pelaksanaan , dan kos penggunaan pengguna akan lebih rendah, tidak seperti kebanyakan bahasa yang perlu memasang persekitaran yang diperlukan.

Atas sebab ini,

satu pengekodan atau kompilasi mereka hanya sesuai untuk satu platform Untuk sistem pengendalian yang berbeza, kadangkala perlu mengubah suai pengekodan dan kemudian menyusun, dan kadangkala ia sudah mencukupi untuk menyusun semula secara langsung.

Dan ia juga "sangat tidak mesra" kepada pemaju? Anda perlu menangani isu kutipan sampah

sendiri. Apabila pengekodan, anda juga perlu mengambil kira, bilakah memori pada timbunan (GC)? Adakah kod tersebut akan menyebabkan kebocoran memori dan tidak selamat? free、delete

2. Java

Sebagai rookie yang belajar

daripada Java, saya merasakan Gokecekapan pembangunan Akan lebih rendah daripada Java~?(个人感觉,不喜勿喷)

adalah Java disusun terus ke dalam bytecode Produk kompilasi ini adalah antara pengekodan asal dan mesin Sejenis kod perantaraan. Dalam kes ini, program (.class) Java memerlukan persekitaran pelaksanaan khusus (JVM), dan kecekapan pelaksanaan akan lebih rendah daripada itu, dan mungkin juga terdapat kerugian virtualisasi. Tetapi ini juga mempunyai kelebihan iaitu ia boleh disusun sekali dan dilaksanakan (跨平台) di beberapa tempat. Dan ia juga disertakan dengan nya sendiri. GC

3. JavaScript

adalah sama dengan

ialah bahasa yang ditafsirkan

tidak perlu dikompilasi lari selepas tafsiran Python. Jadi JS juga memerlukan persekitaran pelaksanaan khusus Js. (浏览器引擎)Selepas meletakkan kod ke dalam penyemak imbas, penyemak imbas perlu menghuraikan kod, jadi akan berlaku kehilangan virtualisasi

.

Hanya memerlukan penyemak imbas untuk dijalankan, jadi ia juga rentas platform. JsMari bincang tentang Go sekali lagi

Selepas membaca pengenalan ringkas bahasa biasa yang terdahulu.

Prestasinya sangat tinggi kerana

ia disusun terus ke dalam binari tanpa kehilangan virtualisasi,

C/C++ Saya rasa ia cukup bagus mekanisme pengumpulan sampah automatik adalah sangat bagus, Go Saya rasa ia juga bagus; Java's boleh digunakan pada berbilang platform dengan satu pengekodan , Go terasa hebat; dan Js secara semula jadi mempunyai keupayaan serentak yang tinggi adalah unik untuk semua bahasa. Jadi mari kita ringkaskan secara ringkas! GoGo Didatangkan dengan persekitaran operasinya sendiri

, dan tidak perlu menangani masalah
  1. RuntimeGCPengoperasian persekitaran program ini sangat mengagumkan. Malah, kebanyakan bahasa mempunyai konsep
  2. , seperti
, persekitaran berjalan programnya adalah

, dan ia perlu dipasang secara berasingan. Untuk program Go, tanpa pemprosesan khas, ia hanya boleh dijalankan pada mesin dengan persekitaran Runtime. Java

Dan program Go disertakan dengan persekitaran operasinya sendiri Go program Runtime akan dibungkus ke dalam produk binari sebagai sebahagian daripada program dan dijalankan bersama-sama dengan program pengguna. Runtime juga merupakan siri .go代码和汇编代码等, pengguna boleh "terus" memanggil fungsi Runtime (比如make([]int, 2, 6),这样的语法,其实就是去调用Runtime中的makeslice函数). Untuk program Go, secara ringkasnya, ia boleh dijalankan tanpa memasang persekitaran operasi tambahan. Melainkan anda perlu membangunkan program Go.

Disebabkan ini, program Go tidak perlu menangani masalah GC, dan semua kuasa diserahkan kepada Runtime untuk mengendalikan (反正要打包到一起).

  1. Menyusun dengan pantas dan merentas platform

Tidak seperti C/C++, untuk berbilang platform, anda mungkin perlu mengubah suai kod sebelum menyusun. Ia juga berbeza daripada pengekodan sekali Java, yang disusun menjadi kod perantaraan dan dijalankan pada mesin maya pada berbilang platform. GoAnda hanya perlu mengekod sekali sahaja dan ia boleh disusun dengan mudah menjadi kod mesin dan dijalankan pada berbilang platform.

Perlu dinyatakan bahawa keupayaan merentas platformnya juga diberikan oleh Runtime, kerana Runtime mempunyai keupayaan untuk menyekat panggilan sistem pada tahap tertentu.

  1. Secara semula jadi menyokong prestasi tinggi dan konkurensi tinggi, dengan sintaks mudah dan keluk pembelajaran yang lembut

C++Keupayaan untuk mengendalikan konkurensi tidak lemah , tetapi Memandangkan keperluan pengekodan C++ sangat tinggi, jika C++程序员 tidak berpengalaman dan profesional, banyak kegagalan mungkin berlaku. Dan Gomungkin tidak mempunyai banyak pengalaman, tetapi masih boleh menulis program konkurensi tinggi dengan prestasi yang baik.

Apa yang patut disebut ialah keselarasannya yang sangat tinggi, yang juga merupakan keupayaan yang diberikan oleh Runtime untuk mengendalikan penjadualan coroutine.

  1. Perpustakaan standard yang kaya dan rangkaian alat lengkap

Untuk pembangun, selepas memasang persekitaran Golang, mereka boleh Banyak fungsi telah dibangunkan menggunakan perpustakaan standard rasmi. Sebagai contoh, terdapat banyak pakej yang biasa digunakan ditunjukkan dalam rajah di bawah:

Mengapa semakin banyak syarikat Internet utama mula menggunakan bahasa Go?

dan Go sendiri mempunyai rantai alat kaya, (比如:代码格式化、单元测试、基准测试、包管理...)

  1. . . . . . .

Banyak syarikat besar telah mula menggunakan bahasa Go Sebab pasukan kami menggunakan GoLang ada kaitan dengan ciri ini~

Cadangan berkaitan: Tutorial video Go

Atas ialah kandungan terperinci Mengapa semakin banyak syarikat Internet utama mula menggunakan bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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