cari

Adakah golang Cina?

Jan 03, 2023 pm 04:43 PM
golangpergi bahasa

golang bukan Cina. Golang ialah bahasa pengaturcaraan serentak yang ditaip kuat, disusun, dengan keupayaan pengumpulan sampah yang dibangunkan oleh Google. Golang ialah satu lagi percubaan dalam reka bentuk bahasa pengaturcaraan dan peningkatan besar berbanding bahasa seperti C. Ia bukan sahaja membolehkan anda mengakses sistem pengendalian asas, tetapi juga menyediakan pengaturcaraan rangkaian yang berkuasa dan sokongan pengaturcaraan serentak. Bahasa Go mempunyai banyak kegunaan dan boleh digunakan untuk pengaturcaraan rangkaian, pengaturcaraan sistem, pengaturcaraan serentak dan pengaturcaraan teragih.

Adakah golang Cina?

Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.

golang bukan Cina.

Golang (juga dikenali sebagai bahasa Go atau Go) ialah bahasa pengaturcaraan serentak yang ditaip kuat, disusun dan serentak dengan keupayaan pengumpulan sampah yang dibangunkan oleh Robert Griesemer, Rob Pike dan Ken Thompson dari Google.

Bahasa Go (atau Golang) berasal pada tahun 2007 dan dikeluarkan secara rasmi pada tahun 2009. Go ialah bahasa yang sangat muda, dan matlamat utamanya ialah untuk "menggabungkan kelajuan pembangunan bahasa dinamik seperti Python dan prestasi serta keselamatan bahasa yang disusun seperti C/C++."

Bahasa Go ialah satu lagi percubaan dalam reka bentuk bahasa pengaturcaraan dan peningkatan besar berbanding bahasa seperti C. Ia bukan sahaja membenarkan anda mengakses sistem pengendalian asas, tetapi juga menyediakan pengaturcaraan rangkaian yang berkuasa dan sokongan pengaturcaraan serentak. Bahasa Go mempunyai banyak kegunaan dan boleh digunakan untuk pengaturcaraan rangkaian, pengaturcaraan sistem, pengaturcaraan serentak dan pengaturcaraan teragih.

Pelancaran bahasa Go bertujuan untuk mengurangkan kerumitan kod tanpa kehilangan prestasi aplikasi. Ia mempunyai kelebihan "penyerahan mudah, konkurensi yang baik, reka bentuk bahasa yang baik dan prestasi pelaksanaan yang baik pada masa ini Syarikat IT telah menggunakan bahasa Go untuk membangunkan projek.

Bahasa Go kadangkala digambarkan sebagai "bahasa seperti C", atau "bahasa C abad ke-21". Go mewarisi sintaks ungkapan yang serupa, struktur aliran kawalan, jenis data asas, pemindahan nilai parameter panggilan, penunjuk dan banyak idea lain daripada bahasa C Ia juga mempunyai kecekapan menjalankan kod mesin tersusun yang sentiasa dihargai oleh bahasa C dan konsisten dengan Seamless sedia ada penyesuaian kepada sistem pengendalian.

Oleh kerana bahasa Go tidak mempunyai konsep kelas dan warisan, ia tidak kelihatan sama seperti Java atau C++. Tetapi ia mencapai polimorfisme melalui konsep antara muka. Bahasa Go mempunyai sistem jenis ringan yang jelas dan mudah difahami, dan tiada hierarki antara jenis. Oleh itu, boleh dikatakan bahawa bahasa Go adalah bahasa hibrid.

Selain itu, banyak projek sumber terbuka yang penting dibangunkan menggunakan bahasa Go, termasuk Docker, Go-Ethereum, Thrraform dan Kubernetes.

Mengapa anda perlu belajar bahasa Go

Jika anda ingin mencipta program sistem atau program berasaskan rangkaian, bahasa Go ialah pilihan yang baik. Sebagai bahasa yang agak baharu, ia telah direka oleh saintis komputer yang berpengalaman dan dihormati untuk menangani cabaran mencipta program rangkaian serentak berskala besar.

Sebelum kemunculan bahasa Go, pembangun sentiasa berhadapan dengan pilihan yang sangat sukar: sama ada untuk menggunakan bahasa (seperti C++) yang mempunyai kelajuan pelaksanaan yang pantas tetapi kelajuan penyusunan yang tidak memuaskan, atau menggunakan bahasa yang mempunyai kelajuan kompilasi yang cepat tetapi kelajuan kompilasi yang lemah Bagaimana dengan bahasa dengan kecekapan pelaksanaan yang lemah (seperti .NET, Java), atau bahasa dinamik yang kurang sukar untuk dibangunkan tetapi mempunyai kelajuan pelaksanaan yang sederhana? Jelas sekali, bahasa Go mencapai keseimbangan terbaik antara tiga syarat ini: penyusunan pantas, pelaksanaan yang cekap dan pembangunan yang mudah.

Bahasa Go menyokong kompilasi silang Contohnya, anda boleh membangunkan aplikasi yang boleh dijalankan pada Windows pada komputer yang menjalankan sistem Linux. Ini adalah bahasa pengaturcaraan pertama yang menyokong sepenuhnya UTF-8 Ini bukan sahaja ditunjukkan dalam fakta bahawa ia boleh mengendalikan rentetan yang dikodkan UTF-8, tetapi juga format fail kod sumbernya menggunakan pengekodan UTF-8. Bahasa Go benar-benar antarabangsa!

Ciri bahasa Go

Sintaks mudah

Ketepikan gaya sintaks, hanya Dalam terma jenis dan peraturan, Go mempunyai banyak persamaan dengan C99 dan C11, yang juga merupakan sebab penting mengapa bahasa Go dinamakan "NextC".

Tatabahasa bahasa Go berada pada dua keterlaluan iaitu kesederhanaan dan kerumitan. Bahasa C sangat mudah sehingga setiap kali anda menulis baris kod, anda boleh membayangkan dalam fikiran anda bagaimana rupanya selepas penyusunan, bagaimana arahan dilaksanakan, bagaimana memori diperuntukkan, dsb. Kerumitan C ialah ia mempunyai terlalu banyak peraturan yang tidak jelas dan tidak relevan, yang benar-benar sakit kepala. Sebagai perbandingan, Go bermula dari awal dan tidak mempunyai bagasi bersejarah Selepas mempelajari banyak pengalaman dan pelajaran, ia boleh merancang dunia dengan peraturan yang ketat dan organisasi yang mudah dari awal.

Peraturan tatabahasa bahasa Go adalah ketat, tiada kekaburan dan tiada variasi ilmu hitam. Kod yang ditulis oleh sesiapa sahaja pada asasnya adalah sama, yang menjadikan bahasa Go mudah dipelajari. Saya fikir ia berbaloi untuk melepaskan sebahagian daripada "fleksibiliti" dan "kebebasan" sebagai pertukaran untuk kebolehselenggaraan yang lebih baik.

Turunkan taraf "++" dan "--" daripada operator kepada pernyataan, kekalkan penunjuk, tetapi halang operasi penunjuk secara lalai, dan faedahnya jelas. Selain itu, menggunakan hirisan dan kamus sebagai jenis terbina dalam dan mengoptimumkannya dari tahap masa jalan juga dianggap "mudah".

Model Concurrency

Hari ini, pengaturcaraan serentak telah menjadi kemahiran asas untuk pengaturcara, dan banyak topik perbincangan berkaitan boleh dilihat dalam pelbagai komuniti teknikal. Dalam kes ini, bahasa Go telah melakukan sesuatu yang sangat berani, tidak seperti biasa, dan pada asasnya menjadikan semuanya serentak Ia menggunakan Goroutine untuk menjalankan segala-galanya semasa masa jalan, termasuk fungsi masuk utama.

Boleh dikatakan bahawa Goroutine ialah ciri paling ketara bagi Go. Ia menggunakan pendekatan seperti coroutine untuk mengendalikan unit serentak, tetapi juga melakukan pengoptimuman yang lebih mendalam pada tahap masa jalan. Ini menjadikan pengaturcaraan serentak secara sintaksis amat mudah. ​​Tidak perlu berurusan dengan panggilan balik, tidak perlu memberi perhatian kepada penukaran benang, hanya satu kata kunci, mudah dan semula jadi.

Gunakan saluran untuk melaksanakan model CSP. Menyahganding gandingan data antara unit serentak dan membenarkan setiap satu melaksanakan tugasnya sendiri merupakan kelegaan yang dialu-alukan untuk semua pembangun yang bergelut dengan perkongsian memori dan butiran kunci. Sekiranya terdapat sebarang kekurangan, ia adalah perlu ada rancangan yang lebih besar untuk mengembangkan komunikasi dari dalam proses ke luar proses untuk mencapai pengedaran yang benar.

Peruntukan ingatan

Menyelaraskan segala-galanya adalah baik, tetapi ia juga membawa banyak masalah. Bagaimana untuk mencapai peruntukan memori dan pengurusan di bawah konkurensi tinggi adalah masalah yang sukar. Nasib baik, Go memilih tcmalloc, iaitu komponen peruntukan memori berprestasi tinggi yang direka bentuk untuk bersamaan.

Boleh dikatakan bahawa pengalokasi memori adalah bahagian yang paling sedikit diubah daripada tiga komponen utama masa jalan. Tidak termasuk kandungan yang diubah suai untuk bekerjasama dengan pemungut sampah, pengalokasi memori mengekalkan sepenuhnya struktur asal tcmalloc. Gunakan cache untuk menyediakan peruntukan tanpa kunci untuk utas pelaksanaan semasa, dan berbilang pusat untuk mengimbangi penggunaan semula unit memori antara utas yang berbeza. Pada tahap yang lebih tinggi, timbunan menguruskan blok memori yang besar dan membahagikannya kepada tahap yang berbeza bagi blok memori yang digunakan semula. Peruntukan pantas dan mekanisme pengimbangan memori sekunder membolehkan pengagih memori menyelesaikan tugas pengurusan memori dengan cemerlang di bawah tekanan tinggi.

Pengoptimuman pengkompil telah sangat berkesan dalam versi terkini. Ia akan cuba sedaya upaya untuk memperuntukkan objek pada timbunan untuk mengurangkan tekanan kutipan sampah, mengurangkan penggunaan pengurusan dan meningkatkan prestasi pelaksanaan. Boleh dikatakan bahawa kecuali untuk masalah prestasi sekali-sekala yang memaksa penggunaan kumpulan objek dan pengurusan memori autonomi, kami pada dasarnya tidak perlu mengambil bahagian dalam operasi pengurusan memori.

Pengumpulan sampah

Pengumpulan sampah sentiasa menjadi masalah. Pada tahun-tahun awal, Java telah diejek untuk masa yang lama kerana pengumpulan sampah yang tidak cekap Kemudian, Sun berturut-turut menggabungkan ramai orang dan teknologi untuk berkembang sehingga hari ini. Namun begitu, dalam senario aplikasi memori besar seperti Hadoop, kutipan sampah masih terbentang dan sukar.

Go menghadapi lebih banyak kesukaran daripada Java. Disebabkan kewujudan penunjuk, ingatan yang ditebus semula tidak boleh dikecutkan. Nasib baik, aritmetik penunjuk disekat, jika tidak, sukar untuk mencapai kitar semula yang tepat.

Setiap kali anda menaik taraf, pemungut sampah mestilah bahagian yang paling diubah suai dalam komponen teras. Daripada pembersihan serentak, kepada mengurangkan masa STW, sehingga versi 1.5 Go melaksanakan penandaan serentak, dan secara beransur-ansur memperkenalkan penghalang penandaan dan tulis tiga warna, dsb., semuanya untuk menjadikan kutipan sampah berfungsi dengan lebih baik tanpa menjejaskan logik pengguna. Walaupun ada usaha, versi semasa algoritma kutipan sampah hanya boleh dikatakan boleh digunakan, dan masih jauh lagi untuk digunakan.

Pautan Statik

Apabila Go pertama kali dikeluarkan, pemautan statik telah dipromosikan sebagai kelebihan. Hanya fail boleh laku yang disusun boleh digunakan tanpa melampirkan apa-apa. Ini nampaknya idea yang bagus, tetapi kemudiannya trend berubah. Untuk beberapa versi berturut-turut, pengkompil telah menambah baik fungsi buildmode perpustakaan dinamik, dan keadaan menjadi agak memalukan untuk seketika.

Ketepikan mod binaan yang belum selesai buat masa ini, faedah penyusunan statik adalah jelas. Masa jalan dan perpustakaan bergantung dibungkus terus ke dalam fail boleh laku, yang memudahkan operasi penempatan dan pelepasan Tidak perlu memasang persekitaran operasi dan memuat turun banyak perpustakaan pihak ketiga terlebih dahulu. Pendekatan mudah ini memberi manfaat besar untuk perisian sistem penulisan, kerana kebergantungan perpustakaan sentiasa menjadi masalah.

Perpustakaan Standard

Perpustakaan standard dengan fungsi lengkap dan kualiti yang boleh dipercayai menyediakan kuasa yang mencukupi untuk bahasa pengaturcaraan. Kebanyakan pembangunan fungsi asas boleh diselesaikan tanpa bantuan sambungan pihak ketiga, yang sangat mengurangkan kos pembelajaran dan penggunaan. Perkara yang paling penting ialah perpustakaan standard dijamin untuk dinaik taraf dan dibaiki, dan ia juga boleh mendapatkan kemudahan pengoptimuman mendalam daripada masa jalan, yang tidak tersedia dalam perpustakaan pihak ketiga.

Walaupun perpustakaan standard Go tidak dilindungi sepenuhnya, ia masih sangat kaya. Salah satu yang terpuji ialah net/http, yang boleh melaksanakan Pelayan Web berprestasi tinggi dengan hanya beberapa kenyataan mudah Ini sentiasa menjadi sorotan publisiti. Lebih-lebih lagi, sejumlah besar rangka kerja pihak ketiga yang sangat baik berdasarkan ini telah mendorong Pergi ke kedudukan salah satu piawaian pembangunan Web/Perkhidmatan Mikro.

Sudah tentu, sumber pihak ketiga yang sangat baik juga merupakan bahagian penting dalam ekosistem bahasa. Di antara beberapa bahasa yang telah muncul dalam beberapa tahun kebelakangan ini, Go adalah unik, dengan sejumlah besar karya cemerlang muncul dengan kerap, yang juga memberikan kami rujukan yang baik untuk mempelajari Go.

Toolchain

Toolchain yang lengkap amat penting untuk pembangunan harian. Go telah melakukan kerja yang cukup baik di sini, dengan alatan yang sepadan untuk penyusunan, pemformatan, semakan ralat, dokumentasi bantuan dan muat turun dan kemas kini pakej pihak ketiga. Fungsinya mungkin tidak sempurna, tetapi sekurang-kurangnya ia mudah dan mudah digunakan.

Rangka kerja ujian lengkap terbina dalam, termasuk ujian unit, ujian prestasi, liputan kod, persaingan data dan pprof untuk penalaan Ini adalah alat penting untuk memastikan kod boleh berjalan dengan betul dan stabil.

Selain itu, maklumat pemantauan masa jalan juga boleh dikeluarkan melalui pembolehubah persekitaran, terutamanya kutipan sampah dan penjejakan penjadualan serentak, yang boleh membantu kami menambah baik algoritma dan memperoleh prestasi masa jalan yang lebih baik.

[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]

Atas ialah kandungan terperinci Adakah golang Cina?. 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
Golang dalam Tindakan: Contoh dan aplikasi dunia nyataGolang dalam Tindakan: Contoh dan aplikasi dunia nyataApr 12, 2025 am 12:11 AM

Golang cemerlang dalam aplikasi praktikal dan terkenal dengan kesederhanaan, kecekapan dan kesesuaiannya. 1) Pengaturcaraan serentak dilaksanakan melalui goroutine dan saluran, 2) Kod fleksibel ditulis menggunakan antara muka dan polimorfisme, 3) memudahkan pengaturcaraan rangkaian dengan pakej bersih/HTTP, 4) Membina crawler serentak yang cekap, 5) Debugging dan mengoptimumkan melalui alat dan amalan terbaik.

Golang: bahasa pengaturcaraan Go dijelaskanGolang: bahasa pengaturcaraan Go dijelaskanApr 10, 2025 am 11:18 AM

Ciri -ciri teras GO termasuk pengumpulan sampah, penyambungan statik dan sokongan konvensional. 1. Model keseragaman bahasa GO menyedari pengaturcaraan serentak yang cekap melalui goroutine dan saluran. 2. Antara muka dan polimorfisme dilaksanakan melalui kaedah antara muka, supaya jenis yang berbeza dapat diproses secara bersatu. 3. Penggunaan asas menunjukkan kecekapan definisi fungsi dan panggilan. 4. Dalam penggunaan lanjutan, kepingan memberikan fungsi saiz semula dinamik yang kuat. 5. Kesilapan umum seperti keadaan kaum dapat dikesan dan diselesaikan melalui perlumbaan getest. 6. Pengoptimuman prestasi menggunakan objek melalui sync.pool untuk mengurangkan tekanan pengumpulan sampah.

Tujuan Golang: Membina sistem yang cekap dan berskalaTujuan Golang: Membina sistem yang cekap dan berskalaApr 09, 2025 pm 05:17 PM

Pergi bahasa berfungsi dengan baik dalam membina sistem yang cekap dan berskala. Kelebihannya termasuk: 1. Prestasi Tinggi: Disusun ke dalam Kod Mesin, Kelajuan Berjalan Cepat; 2. Pengaturcaraan serentak: Memudahkan multitasking melalui goroutine dan saluran; 3. Kesederhanaan: sintaks ringkas, mengurangkan kos pembelajaran dan penyelenggaraan; 4. Cross-Platform: Menyokong kompilasi silang platform, penggunaan mudah.

Kenapa keputusan pesanan oleh pernyataan dalam penyortiran SQL kadang -kadang kelihatan rawak?Kenapa keputusan pesanan oleh pernyataan dalam penyortiran SQL kadang -kadang kelihatan rawak?Apr 02, 2025 pm 05:24 PM

Keliru mengenai penyortiran hasil pertanyaan SQL. Dalam proses pembelajaran SQL, anda sering menghadapi beberapa masalah yang mengelirukan. Baru-baru ini, penulis membaca "Asas Mick-SQL" ...

Adakah Teknologi Stack Convergence hanya proses pemilihan stack teknologi?Adakah Teknologi Stack Convergence hanya proses pemilihan stack teknologi?Apr 02, 2025 pm 05:21 PM

Hubungan antara konvergensi stack teknologi dan pemilihan teknologi dalam pembangunan perisian, pemilihan dan pengurusan susunan teknologi adalah isu yang sangat kritikal. Baru -baru ini, beberapa pembaca telah mencadangkan ...

Bagaimana menggunakan perbandingan refleksi dan mengendalikan perbezaan antara tiga struktur dalam GO?Bagaimana menggunakan perbandingan refleksi dan mengendalikan perbezaan antara tiga struktur dalam GO?Apr 02, 2025 pm 05:15 PM

Bagaimana membandingkan dan mengendalikan tiga struktur dalam bahasa Go. Dalam pengaturcaraan GO, kadang -kadang perlu untuk membandingkan perbezaan antara dua struktur dan menggunakan perbezaan ini kepada ...

Bagaimana untuk melihat pakej yang dipasang di seluruh dunia?Bagaimana untuk melihat pakej yang dipasang di seluruh dunia?Apr 02, 2025 pm 05:12 PM

Bagaimana untuk melihat pakej yang dipasang di seluruh dunia? Dalam proses membangun dengan bahasa Go, sering menggunakan ...

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini