Google telah merilis preview versi baru bahasa pemrograman Go. Versi 1.18 menambahkan fungsionalitas untuk pemrograman 'generik' dengan apa yang disebut tipe 'parameterisasi'.
Dengan kata mereka sendiri, ini adalah perubahan paling penting dan terbesar pada bahasa pemrograman sejak rilis Go versi 1. Ide di balik generik adalah bahwa sekarang memungkinkan fungsionalitas untuk mewakili fungsi dan struktur data dengan memodifikasi jenisnya. Ini mengecualikan 'umum' yang diizinkan dengan mendefinisikan tipe antarmuka sebagai cara mengabstraksi data aktual yang dibawa ke suatu fungsi.
Google menunjukkan bahwa pengembang Go harus menyadari bahwa fungsi tersebut pasti akan menyebabkan bug baru. Karena itu, mereka harus mendekati 'generik' ini dengan hati-hati.
Fungsi lain di Go 1.18 Beta
Selain fungsi di atas, pratinjau baru juga memiliki dukungan bawaan untuk menulis tes berbasis fuzzing. Tes ini dapat secara otomatis menemukan input yang menyebabkan program mogok atau mengembalikan jawaban yang tidak valid. Go 1.18 Beta juga menawarkan 'Mode ruang kerja Go' baru. Hal ini memungkinkan pemrogram untuk bekerja dengan beberapa modul Go secara bersamaan. Ini sangat berguna untuk proyek besar, menurut Google.
Selanjutnya, versi 1.18 Beta menambahkan fungsionalitas dengan perintah versi go -m yang diperluas. Perintah ini sekarang menyimpan detail sebagai flag compiler. Sebuah program sekarang dapat menanyakan detail pembuatannya sendiri dengan perintah debug.ReadBuildInfo.
Juga, lebih banyak konvensi panggilan berbasis register, yang tersedia sejak Go 1.17, telah ditambahkan di pratinjau. Dimana pada versi sebelumnya fungsi ini hanya cocok untuk mempercepat kode Go pada sistem x86 dan x64, sekarang juga cocok untuk sistem berbasis ARM64 dan PPC64. Ini akan memberikan kecepatan hingga 20 persen lebih banyak.