'Laporan Tinjauan Pembangun Rasmi 2021 Go'
Setiap tahun pegawai Go menganjurkan tinjauan pembangun Go, dan tahun lepas tidak terkecuali. Tetapi selepas saya selesai menyiasat dan mengumpul maklumat, saya menghilangkan diri...kalau tidak, masyarakat dan rakan-rakan pada masa tertentu akan bertanya kepada saya di mana mereka boleh melihatnya.
Tidak, baru-baru ini rasmi akhirnya mengeluarkan "Go Developer Survey 2021 Results[1]", saya menterjemahnya terus (dengan pemadaman, hanya kandungan utama yang ditunjukkan), anda boleh lihat dan pelajari tentang pembangunan pasaran komuniti Go.
Go Keputusan Tinjauan Pembangun
Sorotan
Kebanyakan respons adalah konsisten dengan tahun-tahun sebelumnya. Contohnya, kepuasan terhadap Go kekal tinggi pada 92% dan 75% responden menggunakan Go di tempat kerja. Tahun ini kami mengambil sampel secara rawak beberapa peserta menggunakan pemalam Go VSCode, yang mengakibatkan beberapa perubahan dalam orang yang menjawab tinjauan. Kekurangan perpustakaan utama, ciri bahasa dan infrastruktur adalah halangan paling biasa untuk menggunakan Go. (Nota: Tinjauan ini telah dijalankan sebelum keluaran Go 1.18, dengan ciri generik sebagai ciri hilang nombor satu dilaporkan) Responden ingin mengutamakan penambahbaikan pada penyahpepijatan dan pengurusan pergantungan. Cabaran terbesar apabila bekerja dengan modul ialah pengurusan versi, menggunakan repositori peribadi dan aliran kerja berbilang modul. (Nota: tinjauan ini telah dijalankan sebelum Pergi 1.18, yang memperkenalkan ruang kerja dan menyelesaikan banyak masalah ini). 81% responden yakin dengan hala tuju jangka panjang projek Go.
Suara siapa yang kita dengar?
Demografi kami kekal stabil dari tahun ke tahun (lihat keputusan 2020). Selaras dengan tahun-tahun sebelumnya, Go digunakan terutamanya dalam industri teknologi. 70% responden adalah pembangun perisian, dengan beberapa dalam IT atau DevOps, dan 76% mengatakan mereka memprogram dalam Go di tempat kerja.



Beberapa demografi baharu untuk 2021:
Majoriti responden menyifatkan organisasi mereka sebagai perusahaan atau PKS, dengan kira-kira satu perempat menggambarkan organisasi mereka sebagai permulaan. Ini lebih kurang berlaku untuk perunding dan agensi awam. Sebahagian besar responden bekerja dalam pasukan kurang daripada 10 orang. Lebih separuh (55%) responden menggunakan Pergi di tempat kerja setiap hari. Responden kurang kerap menggunakan Go di luar kerja. . 43% daripada responden berkata mereka telah menilai beralih kepada Go atau menerima pakai Go tanpa bahasa yang ditetapkan sebelum ini. 80% daripada penilaian ini adalah atas sebab perniagaan.



Bagi mereka yang menilai Go tetapi tidak menggunakan Go, kami kemudian bertanya kepada mereka apakah cabaran yang menghalang mereka daripada menggunakan Go dan yang mana antara ini merupakan halangan utama.
Apa yang kami peroleh daripada keputusan ini menyokong penemuan sebelumnya bahawa ciri yang hilang dan kekurangan sokongan ekosistem/perpustakaan adalah halangan teknikal yang paling penting untuk penerimaan Go.
Kami ingin melihat cara memperkenalkan generik mempengaruhi atau menangani keperluan asas di sekitar sistem jenis Go sebelum membuat lebih banyak perubahan.
Pada masa ini, kami akan mengumpulkan lebih banyak maklumat tentang latar belakang keperluan ini dan mungkin meneroka cara yang berbeza untuk memenuhi keperluan ini pada masa hadapan, seperti melalui alatan, perpustakaan atau pengubahsuaian pada sistem jenis.
Bagi perpustakaan yang hilang, tidak ada konsensus yang jelas tentang jenis perpustakaan yang akan ditambah yang akan membuka kunci peratusan terbesar orang yang ingin menggunakan Go. Ini memerlukan penerokaan lanjut.
Jadi, apabila responden tidak memilih Go, apakah yang mereka pilih?

Rust, Python dan Java ialah pilihan yang paling biasa.
Rust dan Go mempunyai set ciri pelengkap, jadi apabila Go tidak memenuhi keperluan fungsi projek, Rust mungkin merupakan pilihan yang baik.
Sebab utama menggunakan Python ialah kekurangan perpustakaan dan sokongan infrastruktur sedia ada, jadi ekosistem pakej Python yang besar mungkin menyukarkan untuk menukar kepada Go.
Sekali lagi, sebab paling biasa untuk menggunakan Java ialah tiada fungsi dalam Go, yang mungkin dapat dikurangkan dengan pengenalan generik dalam versi 1.18.
Go Kepuasan dan Keutamaan
Mari lihat apa yang Go lakukan dengan baik dan di mana ia boleh bertambah baik.
Selaras dengan tahun lepas, 92% responden menyatakan mereka sangat berpuas hati atau agak berpuas hati dengan penggunaan Go pada tahun lalu.

Tahun ini, kami memperkenalkan soalan baharu untuk meneroka cara lain untuk mengutamakan kerja dalam bidang tertentu.
Soalan: "Andaikan anda mempunyai 10 GopherCoins yang boleh digunakan untuk menambah baik aspek kerja anda di Go. Bagaimanakah anda memperuntukkan syiling anda
Dua bidang yang menonjol ialah pengurusan pergantungan (menggunakan modul) dan mendiagnosis ralat?" , ini Kami akan melabur sumber pada 2022.

Cabaran yang paling biasa dengan pengurusan pergantungan Go ialah:
Menggunakan berbilang modul (19% daripada responden). ialah ulasan tentang versi (termasuk kebimbangan tentang versi API V1 stabil yang dijanjikan).
Berkaitan dengan versi, 9% daripada respons membincangkan pengurusan versi atau mengemas kini kebergantungan. Menggenapkan lima teratas ialah cabaran di sekitar repositori peribadi (termasuk pensijilan untuk GitLab) dan mengingati arahan mod go yang berbeza dan memahami mesej ralat mereka.
Alat dan Amalan Pembangun
Seperti tahun-tahun sebelumnya, sebahagian besar responden melaporkan menggunakan sistem Go on Linux (63%) dan macOS (55%). Nampaknya terdapat aliran menurun sedikit dalam bahagian responden yang kebanyakannya membangun di Linux dari semasa ke semasa.

Daripada responden yang dikaji yang menggunakan pemalam VSCode, 91% lebih suka menggunakan VSCode apabila menggunakan Go.

Platform Sasaran (Pengedaran)
Lebih 90% responden menyasarkan Linux Walaupun lebih ramai responden membangun pada macOS berbanding Windows, mereka lebih kerap menggunakan Windows berbanding Windows macOS.

Ringkasan
Semakan keseluruhan Keputusan Tinjauan Pembangun 2021 kami Untuk mengulangi, beberapa perkara penting.
Sebahagian besar metrik tahun ke tahun kami kekal stabil, dengan kebanyakan perubahan disebabkan oleh perubahan dalam sampel kami. Kepuasan dengan Go kekal tinggi Kami akan mengutamakan penambahbaikan pada penyahpepijatan dan aliran kerja pengurusan pergantungan. Kami akan terus bekerja keras untuk menjadikan Go komuniti inklusif untuk semua jenis Gophers. Ringkasnya, ia berkembang maju, dan kebanyakan orang cukup berpuas hati dengan Go. Percanggahan terbesar ialah pengurusan generik dan pergantungan. Generik telah dikeluarkan dalam Go1.18, pengurusan pergantungan terus dipertingkatkan dan pengoptimuman alat penyahpepijatan juga akan ditingkatkan.
Atas ialah kandungan terperinci 'Laporan Tinjauan Pembangun Rasmi 2021 Go'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam Go, kitaran hayat fungsi termasuk definisi, pemuatan, pemautan, pemulaan, panggilan dan skop pembolehubah dibahagikan kepada tahap fungsi dan tahap blok Pembolehubah dalam fungsi boleh dilihat secara dalaman, manakala pembolehubah dalam blok hanya kelihatan dalam blok .

Dalam Go, anda boleh menggunakan ungkapan biasa untuk memadankan cap masa: susun rentetan ungkapan biasa, seperti yang digunakan untuk memadankan cap masa ISO8601: ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . Gunakan fungsi regexp.MatchString untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa.

Dalam Go, mesej WebSocket boleh dihantar menggunakan pakej gorila/soket web. Langkah khusus: Wujudkan sambungan WebSocket. Hantar mesej teks: Panggil WriteMessage(websocket.TextMessage,[]bait("Mesej")). Hantar mesej binari: panggil WriteMessage(websocket.BinaryMessage,[]bait{1,2,3}).

Bahasa Go dan Go adalah entiti yang berbeza dengan ciri yang berbeza. Go (juga dikenali sebagai Golang) terkenal dengan kesesuaiannya, kelajuan penyusunan pantas, pengurusan memori dan kelebihan merentas platform. Kelemahan bahasa Go termasuk ekosistem yang kurang kaya berbanding bahasa lain, sintaks yang lebih ketat dan kekurangan penaipan dinamik.

Kebocoran memori boleh menyebabkan memori program Go terus meningkat dengan: menutup sumber yang tidak lagi digunakan, seperti fail, sambungan rangkaian dan sambungan pangkalan data. Gunakan rujukan yang lemah untuk mengelakkan kebocoran memori dan objek sasaran untuk pengumpulan sampah apabila ia tidak lagi dirujuk dengan kuat. Menggunakan go coroutine, memori tindanan coroutine akan dikeluarkan secara automatik apabila keluar untuk mengelakkan kebocoran memori.

Lihat dokumentasi fungsi Go menggunakan IDE: Tuding kursor pada nama fungsi. Tekan kekunci pintas (GoLand: Ctrl+Q; VSCode: Selepas memasang GoExtensionPack, F1 dan pilih "Go:ShowDocumentation").

Dalam Golang, pembalut ralat membolehkan anda membuat ralat baharu dengan menambahkan maklumat kontekstual kepada ralat asal. Ini boleh digunakan untuk menyatukan jenis ralat yang dilemparkan oleh perpustakaan atau komponen yang berbeza, memudahkan penyahpepijatan dan pengendalian ralat. Langkah-langkahnya adalah seperti berikut: Gunakan fungsi ralat. Balut untuk membalut ralat asal kepada ralat baharu. Ralat baharu mengandungi maklumat kontekstual daripada ralat asal. Gunakan fmt.Printf untuk mengeluarkan ralat yang dibalut, memberikan lebih konteks dan kebolehtindakan. Apabila mengendalikan pelbagai jenis ralat, gunakan fungsi ralat. Balut untuk menyatukan jenis ralat.

Unit menguji fungsi serentak adalah penting kerana ini membantu memastikan kelakuan mereka yang betul dalam persekitaran serentak. Prinsip asas seperti pengecualian bersama, penyegerakan dan pengasingan mesti dipertimbangkan semasa menguji fungsi serentak. Fungsi serentak boleh diuji unit dengan mensimulasikan, menguji keadaan perlumbaan dan mengesahkan keputusan.
