Rumah > Artikel > pembangunan bahagian belakang > Adakah bahasa go bahasa belakang?
Bahasa Go ialah bahasa belakang. Bahasa Go ialah bahasa pengaturcaraan sebelah pelayan, dan hala tujunya adalah bahagian belakang. Sebab untuk menggunakan bahasa Go untuk pembangunan back-end: 1. Pada peringkat bahasa, ia mempunyai ciri-ciri sintaks mudah dan kecekapan pelaksanaan yang tinggi (bahasa asas); titik permulaan adalah untuk menyasarkan data besar Selaras tinggi, senario aplikasi teragih dalam konteks era pengkomputeran awan 3. Bahasa Go boleh disusun secara langsung untuk menjana program boleh laku pada platform yang berbeza, dan penggunaan memori asas adalah sangat kecil.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Bahasa Go ialah bahasa pengaturcaraan bahagian pelayan Arah bahasa go bukanlah bahagian hadapan, tetapi terutamanya bahagian belakang.
Go (juga dikenali sebagai Golang) ialah ditaip kuat secara statik, disusun, jenis concurrency yang dibangunkan oleh Google dan Bahasa pengaturcaraan dengan pengumpulan sampah . Go diumumkan secara rasmi pada November 2009, menjadi projek sumber terbuka dan dilaksanakan pada platform Linux dan Mac, dan kemudian menambah pelaksanaan di bawah sistem Windows.
Sintaks bahasa Go adalah serupa dengan C, tetapi fungsinya termasuk: keselamatan memori, GC (pengumpulan sampah), bentuk struktur dan pengkomputeran serentak gaya CSP.
Sintaks Go adalah hampir dengan bahasa C, tetapi pengisytiharan pembolehubah adalah berbeza. Go menyokong kutipan sampah. Model selari Go adalah berdasarkan Proses Berkomunikasi Tony Hall (CSP) Bahasa lain yang menggunakan model serupa termasuk Occam dan Limbo, tetapi ia juga mempunyai ciri operasi Pi, seperti penghantaran saluran. Sokongan pemalam dibuka dalam versi 1.8, yang bermaksud bahawa beberapa fungsi kini boleh dimuatkan secara dinamik daripada Go.
Berbanding dengan C, Go tidak termasuk fungsi seperti penghitungan, pengendalian pengecualian, pewarisan, generik, penegasan, fungsi maya, dsb., tetapi ia menambah jenis hirisan, konkurensi, paip, pengumpulan sampah, Tahap bahasa sokongan untuk ciri seperti antara muka. Versi Go 2.0 akan menyokong generik, tetapi mempunyai sikap negatif terhadap kewujudan pernyataan, dan juga mempertahankan dirinya kerana tidak menyediakan warisan jenis.
Tidak seperti Java, Go mempunyai tatasusunan bersekutu terbina dalam (juga dipanggil cincang atau kamus), sama seperti jenis rentetan
1 Mudah dan cekap: Hampir semua bahasa pengaturcaraan arus perdana seperti Java, C, PHP, Python, JavaScript, dll. boleh digunakan untuk pembangunan bahagian pelayan bintang pada tahap bahasa Ia mempunyai ciri-ciri sintaks yang mudah dan kecekapan pelaksanaan yang tinggi (sebagai perbandingan, Java, Python, dan PHP semuanya tidak cekap, C terlalu menyusahkan, dan Go boleh mencapai kedua-dua kesederhanaan dan kecekapan; . Cross-platform : Boleh disusun secara langsung untuk menjana program boleh laku pada platform yang berbeza Penggunaan memori asas adalah sangat kecil pada peranti kecil seperti Raspberry Pi Ia berjalan dengan baik, dan prestasi ini jauh lebih baik daripada Java
Pebekalan, pengedaran dan perkhidmatan mikro ialah arah aliran dalam pembangunan bahagian pelayan.1. Bahasa Go adalah penguasa mutlak dalam medan kontena (K8S) yang terkenal dibangunkan menggunakan bahasa Go; contoh terbaik ialah Ethereum, kerana rantaian blok adalah lejar yang diedarkan; 3. Perkhidmatan mikro: Contoh terbaik perkhidmatan mikro yang menyokong bahasa Go ialah Toutiao adalah Berjalan pada perkhidmatan yang dibina dalam Go. Bilangan perkhidmatan mikro melebihi 100, QPS puncak melebihi 7 juta, dan volum permintaan pemprosesan harian melebihi 300 bilion Ia mungkin merupakan aplikasi Go terbesar dalam industri.
Bahasa Go ialah bahasa back-end Berbanding dengan bahasa back-end yang lain, apakah kelebihan atau ciri Go?Tahap bahasa menyokong konkurensi Ini adalah ciri terbesar Go. Ia adalah mudah untuk menulis program berbilang benang dan boleh menggunakan sepenuhnya berbilang teras.
Go juga mempunyai alat gofmt terbina dalam, yang boleh mengisih ruang putih berlebihan dalam kod secara automatik, menjajarkan nama pembolehubah dan menukar ruang yang dijajarkan ke dalam tab. [Cadangan berkaitan: Tutorial video Go]
Pada masa ini terdapat dua cawangan pengkompil Go, iaitu pengkompil rasmi gc dan gccgo. Pengkompil rasmi pada mulanya ditulis dalam C dan kemudian ditulis semula dalam Go untuk mencapai bootstrap. Gccgo ialah pengkompil Go menggunakan GCC standard sebagai hujung belakang.
Pengkompil rasmi menyokong kompilasi merentas platform (tetapi tidak menyokong CGO), membenarkan kod sumber disusun menjadi binari yang boleh dilaksanakan pada sistem dan seni bina sasaran.
Kisah kejayaan bahasa Go
1. Docker (bekas)
Sehingga kini, Docker hampir merupakan kisah kejayaan yang sukar dicari dan disalin dalam Go . Projek Docker menerima $40 juta dalam pembiayaan Siri C pada September 2014. Kelajuan lelaran versi adalah sangat pantas Pada masa ini, terdapat 78 versi yang dilihat di GitHub, dan ia hanya projek yang dimulakan secara rasmi pada awal 2013. Pada masa ini, promosi teknologi Docker domestik juga sedang giat dijalankan, seperti komuniti Cina Docker, dan CSDN juga telah menubuhkan zon Docker. Sebab mengapa pasukan Docker suka menggunakan bahasa Go adalah terutamanya kerana Go mempunyai perpustakaan standard yang berkuasa, persekitaran pembangunan penuh dan keupayaan pembinaan merentas platform.
2. Kubernetes (bekas)
Kubernetes ialah Kubernetes yang dilancarkan oleh Google pada musim panas 2014. Ia berdasarkan Docker dan tujuannya adalah untuk membolehkan pengguna mengurus gugusan kontena awan melalui gugusan Kubernetes tanpa memerlukan pengguna untuk Melakukan kerja persediaan yang kompleks. Sistem akan memilih nod kerja yang sesuai secara automatik untuk melaksanakan kerja penjadualan dan pemprosesan kelompok kontena tertentu. Konsep terasnya ialah Container Pod.
3. Etcd & Fleet (pangkalan data teragih)
etcd ialah sistem storan nilai kunci yang dibangunkan dan diselenggara oleh CoreOS Ia ditulis dalam bahasa Go dan mengendalikan replikasi log melalui algoritma konsistensi Raft. Pastikan konsistensi yang kuat. Pada masa ini, sistem pengurusan kluster kontena Google Kubernetes, platform PaaS sumber terbuka Cloud Foundry dan CoreOS' Fleet semuanya menggunakan dsb secara meluas. Armada ialah sistem pemulaan teragih. Sebab mengapa mereka memilih untuk menggunakan bahasa Go adalah kerana sokongan merentas platform yang baik bagi bahasa Go dan komuniti yang kuat di belakangnya.
4. Deis (platform perkhidmatan awan)
Deis ialah platform PaaS sumber terbuka berdasarkan Docker dan CoreOS, direka untuk memudahkan penggunaan dan mengurus aplikasi pada pelayan. Ia boleh dijalankan pada platform AWS, GCE dan Openstack.
5. Flynn (platform perkhidmatan awan)
Flynn ialah platform PaaS sumber terbuka yang ditulis dalam bahasa Go, yang boleh membina dan menggunakan sebarang aplikasi secara automatik untuk dijalankan pada gugusan kontena Docker. Projek Flynn disokong oleh Y Combinator dan masih dalam pembangunan Ia dipanggil platform PaaS sumber terbuka generasi seterusnya.
6. Lime (aplikasi desktop)
Berbanding dengan bahasa Go di atas selain bahagian awan dan pelayan, Lime agak istimewa. Lime ialah program editor desktop yang ditulis dalam bahasa Go, yang dianggap sebagai pelaksanaan sumber terbuka editor terkenal Sublime Text.
7. Revel (Rangka Kerja Web)
Revel ialah rangka kerja Web bahasa Go yang sangat produktif. Rangka kerja Revel menyokong kompilasi panas Apabila mengedit, menyimpan dan menyegarkan kod sumber, Revel akan menyusun kod dan templat secara automatik dan menyokong penghalaan, penghuraian parameter, pengujian, pengantarabangsaan dan fungsi lain.
8. InfluxDB (pangkalan data teragih)
Pangkalan data pemasaan, acara dan penunjuk teragih sumber terbuka yang ditulis dalam suara Go, tanpa kebergantungan luaran. Matlamat reka bentuknya adalah untuk mencapai penskalaan teragih dan mendatar.
9. .Syncthing (cakera awan)
Alat perkhidmatan storan dan penyegerakan sumber terbuka yang ditulis dalam bahasa Go akan dikawal sepenuhnya oleh mereka sendiri dan semua komunikasi akan disulitkan . Setiap nod akses disahkan dengan sijil penyulitan. Projek ini dianggap sebagai alternatif sumber terbuka kepada Dropbox dan BitTorrent Sync Sebab mengapa Syncthing memilih bahasa Go juga disebabkan oleh pertimbangan merentas platform.
10. Gogs (perkhidmatan Git layan diri)
Gogs ialah projek perkhidmatan Git layan diri yang dibangunkan oleh Guoren Wuwen (GitHub). Matlamat Gogs adalah untuk mencipta cara termudah, terpantas dan termudah untuk membina perkhidmatan Git layan diri. Menurut penulis, sebab memilih untuk menggunakan bahasa Go untuk pembangunan ialah Go membenarkan Gogs diedarkan melalui binari bebas dan mempunyai sokongan yang baik untuk merentas platform.
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !
Atas ialah kandungan terperinci Adakah bahasa go bahasa belakang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!