Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah bahasa go bahasa belakang?

Adakah bahasa go bahasa belakang?

青灯夜游
青灯夜游asal
2022-12-01 18:16:417851semak imbas

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.

Adakah bahasa go bahasa belakang?

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.

Penerangan

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

Mengapa menggunakan bahasa Go untuk pembangunan bahagian belakang?

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.

    Sebagai bahasa pengaturcaraan yang lahir pada abad ke-21, ia menyokong pengumpulan sampah Seperti Java, pembangun tidak perlu mengurus memori dan boleh menumpukan pada pelaksanaan perniagaan.
  • Pustaka standard yang kaya, Go mempunyai sejumlah besar perpustakaan terbina dalam, terutamanya perpustakaan rangkaian yang sangat berkuasa.
  • Pengaturan bahasa Go adalah agak mudah, ia disusun terus ke dalam kod mesin dan terdapat pilihan kompilasi merentas platform.
  • Falsafah bahasa Go ialah "less is more". Berbanding dengan C dan Java, bahasa Go lebih mudah untuk dimulakan.
  • Gaya penulisan

  • Terdapat beberapa peraturan dalam Go Apabila peraturan berikut tidak dipadankan, kompilasi akan menghasilkan ralat.

Tidak perlu menulis koma bertitik selepas setiap baris program.

    Pendakap bukaan tidak boleh diletakkan dalam barisan baharu.
  • Jika pertimbangan dan untuk gelung tidak perlu dibalut dalam kurungan.

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]

Pengkompil

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!

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