Bahasa go ialah sumber terbuka. Bahasa go telah diumumkan secara rasmi pada November 2009 dan menjadi projek sumber terbuka Ia telah dilaksanakan pada platform Linux dan Mac OS X, dan kemudiannya telah ditambahkan pada sistem Windows Bahasa go menggunakan protokol sumber terbuka BSD. Protokol sumber terbuka BSD ialah protokol yang memberi pengguna banyak kebebasan, mereka boleh menggunakannya secara bebas, mengubah suai kod sumber dan mengeluarkan semula kod yang diubah suai sebagai perisian sumber terbuka atau proprietari.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Go (juga dikenali sebagai Golang) ialah jenis yang ditaip, disusun dan serentak secara statik yang dibangunkan oleh Google Dan bahasa pengaturcaraan dengan keupayaan pengumpulan sampah.
Robert Griesemer, Rob Pike dan Ken Thompson mula mereka bentuk Go pada September 2007, dan kemudian Ian Lance Taylor dan Russ Cox menyertai projek itu. Go dibangunkan berdasarkan sistem pengendalian Inferno. Go diumumkan secara rasmi pada November 2009, menjadi projek sumber terbuka dan dilaksanakan pada platform Linux dan Mac OS X Kemudian, pelaksanaan di bawah sistem Windows telah ditambah.
Ringkasnya: Bahasa Go ialah sumber terbuka dan mengguna pakai lesen BSD.
Protokol sumber terbuka BSD ialah protokol yang memberi pengguna banyak kebebasan. Anda boleh menggunakannya secara bebas, mengubah suai kod sumber dan mengeluarkan semula kod yang diubah suai sebagai perisian sumber terbuka atau proprietari. Apabila anda menerbitkan kod yang menggunakan protokol BSD, atau membangunkan produk anda sendiri berdasarkan kod protokol BSD, anda perlu memenuhi tiga syarat:
Jika produk yang dikeluarkan semula adalah Jika sumber kod disertakan, kod sumber mesti mengandungi lesen BSD daripada kod asal.
Jika anda mengedarkan semula perpustakaan/perisian kelas binari sahaja, anda perlu memasukkan protokol BSD dalam kod asal dalam penyata dokumentasi dan hak cipta perpustakaan/perisian kelas.
Jangan gunakan nama pengarang/organisasi kod sumber terbuka dan nama produk asal untuk tujuan pemasaran.
Kod BSD menggalakkan perkongsian kod, tetapi hak cipta pengarang kod perlu dihormati. BSD ialah protokol yang mesra kepada integrasi komersial kerana ia membenarkan pengguna mengubah suai dan mengedarkan semula kod, dan juga membenarkan perisian komersial dikeluarkan dan dijual menggunakan atau dibangunkan pada kod BSD. Banyak syarikat memilih protokol BSD apabila memilih produk sumber terbuka, kerana mereka boleh mengawal sepenuhnya kod pihak ketiga ini dan boleh mengubah suai atau membangunkannya semula apabila perlu.
Pada tahun 2007, Rob, ketua jurutera perisian di Google yang sudah muak dengan penderitaan C Pike mengumpulkan dua orang berbakat, Robert Griesemer dan Ken Thompson, dan memutuskan untuk mencipta bahasa baharu untuk menggantikan C. Ini ialah Golang. Walaupun bahasa GO yang muncul pada abad ke-21 tidak dapat menggantikan C seperti yang dijangkakan, prestasi pelaksanaan hampir-C, kecekapan pembangunan bahasa hampir analisis dan kelajuan kompilasi hampir sempurna telah menjadi popular di seluruh dunia. Terutamanya dalam projek awan, kebanyakannya dibangunkan menggunakan Golang Harus dikatakan bahawa Golang telah lama berakar umbi di hati rakyat. Untuk projek baharu tanpa beban sejarah, Golang mungkin pilihan terbaik.
Rob Pike, yang dikenali sebagai bapa bahasa GO, berkata sama ada anda bersetuju dengan bahasa GO bergantung pada sama ada anda bersetuju bahawa kurang adalah lebih, atau kurang adalah kurang (Less is more or less is less ). Rob Pike meringkaskan keseluruhan falsafah reka bentuk bahasa GO dengan cara yang sangat mudah - merangkumi kesederhanaan dan kepraktisan sepenuhnya.
Ramai orang memanggil bahasa GO sebagai bahasa C abad ke-21, kerana GO bukan sahaja mempunyai kesederhanaan dan prestasi C, tetapi juga menyediakan pelbagai ciri praktikal untuk pembangunan sisi pelayan dalam persekitaran Internet abad ke-21 ini membolehkan pembangun mendapatkan apa yang mereka inginkan dengan mudah pada peringkat bahasa.
Bahasa Go ialah bahasa pengaturcaraan sumber terbuka kedua yang dikeluarkan oleh Google pada tahun 2009. Bahasa Go dioptimumkan khas untuk pengaturcaraan aplikasi sistem berbilang pemproses Program yang disusun menggunakan Go boleh sepantas kod C atau C, lebih selamat dan menyokong proses selari.
1. Pasukan pembangunan
Kem pembangunan bahasa GO boleh dikatakan hebat sebelum ini, dan terdapat banyak yang utama ahli dalam industri perisian komputer Seorang tokoh sejarah yang mempunyai pengaruh yang mendalam terhadap pembangunan perisian komputer. Ken Thompson, dari Bell Labs, mereka bentuk bahasa B dan mencipta sistem pengendalian Unix (pada mulanya dilaksanakan dalam bahasa B Kemudian, semasa pembangunan Unix, dia mereka bentuk bahasa C dengan Dennis Ritchie, dan kemudian membina semula menggunakan C). bahasa sistem pengendalian Unix. Dennis Ritchie dan Ken Thompson dikenali sebagai bapa kepada Unix dan bahasa C, dan telah dianugerahkan bersama Anugerah Turing pada tahun 1983 sebagai pengiktirafan atas sumbangan cemerlang mereka kepada pembangunan perisian komputer. Rob Pike, juga dari Bell Labs, ialah ahli penting pasukan Unix Dia mencipta bahasa Limbo dan mereka bentuk pengekodan UTF-8 dengan Ken Thompson Dia adalah salah seorang pengarang "Persekitaran Pengaturcaraan Unix" dan "Pengaturcaraan Berlatih".
2. Ciri-ciri bahasa go
Pengumpulan sampah automatik mengurangkan kesukaran pembangunan
Pengurusan memori dan sumber sentiasa menjadi masalah masalah yang sangat mengecewakan . Dalam bahasa lain (seperti C atau C), ingatan ini mesti diperuntukkan sebelum menggunakannya, dan kemudian dilepaskan selepas digunakan. Penyimpangan kecil boleh menyebabkan kebocoran memori, menyebabkan program atau bahkan sistem ranap. Mekanisme pengumpulan sampah moden bagi bahasa Go mengurangkan dengan ketara kesukaran pembangunan, meninggalkan pengurusan memori yang tidak menarik kepada penyusun profesional, membolehkan pengaturcara menumpukan pada perkara yang lebih menarik.
Sokong berbilang nilai pulangan untuk fungsi
Pada masa ini, kebanyakan bahasa arus perdana kecuali Python tidak menyokong berbilang nilai pulangan untuk fungsi, tetapi dalam banyak kes pembangun memerlukan ini ciri sangat. Fungsi nilai berbilang pulangan bahasa Go membolehkan pembangun tidak lagi perlu menentukan nilai tunggal hanya untuk mengembalikan berbilang nilai Ia digunakan untuk proses pengendalian ralat standard dan menyediakan fungsi terbina dalam panik dan pulih untuk menyelesaikan lontaran dan menangkap pengecualian. Berbanding dengan mekanisme penangkapan pengecualian dalam bahasa seperti C dan Java, mekanisme pengendalian ralat bagi bahasa
Pengecualian biasa: penerima memulangkan objek ralat dan pemanggil menentukan objek ralat.
Pengecualian serius: merujuk kepada panik yang terganggu (seperti pembahagian dengan 0), yang ditangkap dan diproses menggunakan mekanisme penangguhan...pulihkan...panik. Pengecualian serius biasanya secara automatik dilemparkan secara dalaman oleh golang, dan tidak memerlukan pengguna untuk melontarnya secara aktif, mengelakkan situasi di mana cuba...tangkap tradisional ditulis di mana-mana. Sudah tentu, pengguna juga boleh menggunakan panik('xxxx') untuk melontar secara aktif, tetapi ini akan merosot mekanisme ini menjadi mekanisme pengecualian berstruktur.
Pengaturcaraan Rangkaian
Memandangkan golang dilahirkan dalam era Internet, ia sememangnya terdesentralisasi dan diedarkan Salah satu manifestasi khususnya ialah ia menyediakan antara muka rangkaian yang kaya dan mudah. seperti net.Dial untuk soket (berdasarkan pada tcp/udp, merangkum sambung tradisional, dengar, terima dan antara muka lain), http.Get/Post() untuk http, client.Call('class_name.method_name', args) untuk rpc , &balas), dsb.
Kompilasi
Menjalankan program Go yang disusun tidak memerlukan pemasangan tambahan persekitaran yang sedang berjalan seperti nod java atau js Pada masa yang sama, Go menyediakan sokongan kompilasi silang asli , kompilasi silang Platform ini sangat mudah untuk dibangunkan dan digunakan.
3 senario penggunaan bahasa Go
Pengaturcaraan pelayan, jika anda menggunakan C atau C untuk melakukan perkara-perkara itu sebelum ini, ia sangat sesuai digunakan Pergi untuk melakukannya, seperti pemprosesan log, pembungkusan data, pemprosesan mesin maya, sistem fail, dsb.
Kecekapan pembangunan Bahasa GO mudah digunakan dan perihalan kod Kecekapan tinggi, standard pengekodan bersatu dan cepat untuk bermula.
1. Niat asal reka bentuk bahasa Go
Buka go 05. Perbandingan antara bahasa Go dan bahasa lain
URL Rujukan: https://studygolang.com/articles/24885
Go berharap untuk menjadi bahasa C era Internet. Falsafah pengaturcaraan asas kebanyakan bahasa peringkat sistem (termasuk Java dan C#) berasal daripada C, seterusnya membangunkan sifat berorientasikan objek C. Tetapi pereka bahasa Go mempunyai pandangan yang berbeza Mereka percaya bahawa bahasa C patut dipelajari. Akar populariti bahasa C yang kekal ialah ia cukup mudah. Oleh itu, bahasa Go cukup mudah.
Go direka oleh dan untuk mereka yang membangunkan sistem yang besar; ia adalah untuk menyelesaikan masalah kejuruteraan, bukan untuk mengkaji reka bentuk bahasa untuk menjadikan pengaturcaraan kami lebih selesa dan mudah. **
Walau bagaimanapun, memandangkan beberapa realiti dalaman Google pada masa itu, seperti ramai jurutera yang datang dari jabatan C, bahasa yang direka bentuk baharu mestilah mudah dipelajari, sebaik-baiknya bahasa yang serupa dengan C telah ada tiada bahasa baharu dalam bahasa 20 tahun, jadi bahasa yang direka bentuk baharu mestilah moden (seperti GC terbina dalam) dan situasi lain. Akhirnya, berdasarkan pengalaman praktikal, mereka mereka bentuk bahasa Go ke arah matlamat mereka.
bahasa tersusun, kelajuan sederhana (2.67s), pada masa ini. Kebanyakan laman web besar ditulis dalam Java, seperti Taobao, JD.com, dll. Ciri-ciri utamanya ialah kestabilan, sumber terbuka yang baik, set spesifikasi penulisannya sendiri, kecekapan pembangunan sederhana, dan pada masa ini ia merupakan bahasa paling arus perdana.
C
Pelaksanaan pantas (4.28), kesukaran pembelajaran sederhana, dan kelajuan pembangunan sederhana. Walau bagaimanapun, disebabkan oleh banyak kekurangan C#, tapak web terdahulu yang besar seperti JD.com dan Ctrip semuanya dibangunkan dalam C#, tetapi kini mereka telah dipindahkan ke Java.
C/C
Nenek moyang bahasa pengaturcaraan sedia ada, dari mana semua bahasa lain dilahirkan. Kelajuan pelaksanaan terpantas tidak dapat ditandingi. Tetapi ia adalah yang paling rumit untuk ditulis dan sukar untuk dikembangkan.
Dari segi ciri bahasa, Java dan C agak berbeza, manakala go dan C lebih dekat.
Bagaimana untuk memilih antara ular sawa, golang, java dan c pada tahun 2019?
URL Rujukan: https://zhuanlan.zhihu.com/p/65177007
Pembelajaran perbandingan: Golang VS Python3
URL Rujukan: https://zhuanlan.zhihu.com/p/65613337
Kedua-dua Golang dan Python kini merupakan salah satu bahasa pembangunan paling popular dalam bidang masing-masing.
Sintaks Golang yang cekap dan mesra telah memenangi banyak pembangun bahagian belakang dan merupakan salah satu bahasa yang paling sesuai untuk pengaturcaraan rangkaian konkurensi tinggi.
Tidak perlu dikatakan, Python ialah salah satu daripada sepuluh pemastautin tetap teratas dalam kedudukan TIOBE dan kini telah stabil dalam lima teratas. Ia telah menjadi bahasa yang mesti dipelajari dalam bidang pembelajaran mesin, AI, dan analisis data.
Berbanding dengan python, go mempunyai kelebihan yang jelas dalam prestasi, kerana bahasa yang ditafsir dan bahasa yang disusun tidak sama dari segi kelajuan larian. Selain itu, go mempunyai Sintaksnya ringkas dan reka bentuk sistem jenis lebih baik daripada python.
Walaupun prestasinya kukuh, kecekapan pembangunan tidak lebih buruk daripada bahasa dinamik seperti Python. Ia biasanya susunan magnitud lebih tinggi daripada aplikasi Python asli dan sesuai untuk menulis beberapa perkhidmatan kesesakan. Penggunaan memori juga sangat menjimatkan.
Python
Bahasa skrip, paling perlahan (258s), kodnya ringkas, kemajuan pembelajaran pendek, dan kelajuan pembangunan pantas. Douban ditulis dalam Python. Rangka kerja pelayan terkenal untuk Python termasuk django dan flask. Walau bagaimanapun, Python tidak stabil untuk projek besar, jadi sesetengah syarikat yang menggunakan Python kemudiannya berhijrah ke Java.
[Cadangan berkaitan: Pergi tutorial video]
Atas ialah kandungan terperinci Adakah bahasa Go sumber terbuka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!