Kod sumber awal bahasa Go telah ditulis dalam bahasa C dan bahasa himpunan versi From Go 1.5 dan seterusnya, ia ditulis sepenuhnya dalam bahasa Go itu sendiri. Seawal awal tahun 2014, Google telah memulakan persediaan untuk mengalih keluar sepenuhnya bahasa C daripada kod sumber bahasa Go, yang bermaksud bahawa bahasa Go benar-benar boleh melengkapkan bootstrap dan menulis semula pengkompil bahasa Go dengan versi awal.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Bahasa Go kini telah melaksanakan bootstrap, yang bermaksud bahawa Golang kini ditulis dalam Golang sendiri. Pada zaman awal, Go telah dilaksanakan dalam bahasa himpunan dan bahasa C Kemudian, apabila Go matang, bahasa Go mula bootstrap dan menulis semula pengkompil bahasa Go dengan versi awal.
Dari versi Go 1.5 dan seterusnya, 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 secara mendalam disyorkan untuk membacanya.
Pautan projek: https://github.com/docker/docker
Google secara beransur-ansur melaksanakan "bahasa de-C" Go bahasa
Inti banyak bahasa pengaturcaraan ialah bahasa C Malah boleh dikatakan bahawa asas teras komputer moden dibina pada bahasa C dan Unix mencipta bahasa C dan Unix, kemudian C dan Unix menjana semula segala-galanya. JVM, teras PHP, GCC, Emacs, Vim, Unix, Linux, dll., semuanya ditulis dalam bahasa C.
Bahasa Go sememangnya tidak terkecuali Penyusun bahasa Go pada asalnya ditulis dalam bahasa C Salah seorang pengarang bahasa Go ialah pengasas terkenal Ken Thompson. Seawal awal tahun 2014, Google telah pun memulakan persediaan untuk mengalih keluar sepenuhnya bahasa C daripada kod sumber bahasa Go, yang bermaksud bahawa bahasa Go benar-benar boleh melengkapkan bootstrap.
Pelan khusus Google untuk bootstrap bahasa Go
Bahasa Go ialah bahasa pengaturcaraan yang sangat cekap, mempunyai prestasi yang lebih baik dan kecekapan penggunaan sumber yang lebih tinggi daripada Java, C#, PHP, Python dan bahasa berasaskan mesin maya dan ditafsirkan yang lain. Pada asasnya, selain daripada C/C++, bahasa Go ialah bahasa peringkat tinggi dengan prestasi terbaik Berbanding dengan C dan C++, bahasa Go mempunyai kelebihan besar dalam sintaks.
Kedua-dua Java dan PHP hanya sebahagiannya JVM Java masih perlu dilaksanakan dalam bahasa C, dan teras PHP juga mesti ditulis dalam bahasa C Bahasa pengaturcaraan yang boleh mencapai bootstrap mestilah lengkap. Oleh itu, HTML dan CSS tidak boleh bootstrap, dan ia bukan bahasa pengaturcaraan dalam erti kata sebenar.
Langkah pelaksanaan khusus Google: bangunkan pengkompil C to Go, menterjemah pengkompil C sedia ada ke dalam bahasa Go; tukar pepohon kod sumber pengkompil untuk mendapatkan pengkompil bahasa Go; ke dalam pengkompil gaya bahasa Go yang menyeluruh; pengkompil Go dioptimumkan, terutamanya mengoptimumkan masalah penggunaan prestasi pemproses dan memori, menambah mekanisme selari, mengoptimumkan dan menghapuskan semakan berlebihan dan keupayaan menyemak sempadan menggunakan penggantian go/parser dan go/types versi terkini hujung hadapan pengkompil.
Mengapakah Google mahu bahasa Go melaksanakan bootstrap?
Terdapat tiga maksud utama bootstrap: menguji bahasa pengaturcaraan bootstrapped; Faedah.
Mampu melakukan bootstrap membuktikan bahawa sekurang-kurangnya bahasa pengaturcaraan adalah Turing yang lengkap, yang membuktikan bahawa bahasa pengaturcaraan itu sendiri mempunyai keupayaan yang begitu kuat Ini dengan sendirinya juga merupakan sejenis publisiti untuk bahasa pengaturcaraan membuktikan bahawa bahasa pengaturcaraan adalah sangat serba boleh, dan kebolehan asas yang sangat kuat. Proses bootstrap pada dasarnya adalah ujian bahasa pengaturcaraan Semasa proses ini, pembangun teras boleh mengumpul banyak pengalaman dan pelajaran yang dipelajari tentang bahasa pengaturcaraan itu sendiri, dan boleh menemui kekurangan dan kecacatan reka bentuk dalam bahasa pengaturcaraan itu sendiri seawal mungkin. , supaya memudahkan pembangunan tepat pada masanya.
Oleh itu, jika bahasa pengaturcaraan ingin bootstrap, lebih cepat ia dilakukan, lebih baik proses bootstrap juga merupakan proses penambahbaikan bahasa pengaturcaraan Lebih cepat bootstrap selesai sebelum bahasa pengaturcaraan dimuktamadkan , bahasa pengaturcaraan Semakin cepat mereka matang, sebab mengapa C/C++ bertahan selama bertahun-tahun adalah kerana mereka sudah cukup matang Perkembangan bahasa pengaturcaraan lain bergantung kepada dua bahasa pengaturcaraan ini sekarang juga mempunyai kemungkinan ini .
Bahasa Go ialah bahasa pengaturcaraan yang sangat baik dengan konsep reka bentuk moden, keupayaan yang kukuh dan prestasi yang baik Walaupun bahasa Go tidak mempunyai makro dan generik, yang akan menjadikan kod anda sangat berulang, bahasa Go mempunyai lebih banyak Ia adalah bahasa yang agak muda. bahasa pengaturcaraan dibangunkan dengan meninggalkan kelemahan C/C++ dan menyerap kelebihan banyak bahasa pengaturcaraan. Sebilangan besar amalan kejuruteraan dalam bahasa Go telah membuktikan bahawa ia adalah bahasa pengaturcaraan yang sangat berkuasa.
[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]
Atas ialah kandungan terperinci Apakah kod sumber bahasa go yang ditulis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!