Pengantar Pustaka Standar Go
Saat artikel ini ditulis, versi rilis Go sudah mencapai 1.21, sudah lebih dari setahun sejak situs ini pertama kali didirikan.
Pustaka standar Go sangat kaya (tidak termasuk struktur data), fungsinya juga sangat kuat, API sangat ramah bagi pengembang, kemampuan menggunakan pustaka standar dengan mahir akan sangat membantu pengembangan sehari-hari. Misalnya, Anda dapat mengembangkan proyek Web yang independen dan lengkap hanya menggunakan tiga library net/http, html/template, database/sql tanpa ketergantungan eksternal apa pun.
Konten pustaka standar belum diperbarui karena memang terlalu banyak, jadi di bawah ini akan dijelaskan secara singkat fungsi beberapa pustaka standar yang umum digunakan, sehingga Anda dapat memilih yang menarik untuk dipelajari. Komentar tingkat package setiap pustaka standar akan menjelaskan secara rinci fungsi package tersebut.
fmt, package untuk menangani input output terformathtml, package operasi template htmlnet, package yang menyediakan serangkaian operasi jaringan, sangat kuatflag, package parsing argumen baris perintahreflect, package operasi refleksilog, package log bawaansort, package operasi pengurutanregex, package ekspresi regulerimage, package operasi gambartime, package operasi waktuunicode, package operasi set karakter unicodeunsafe, menyediakan operasi pointer tanpa batasan tipesyscall, package pemanggilan sistem yang disediakan oleh sistem operasitesting, package pengujian, terutama digunakan saat menulis pengujiansync, package operasi konkurensicontext, package konteksstrconv, package konversi stringstrings, package operasi stringbytes, package operasi slice bytemaps, package operasi mapslices, package operasi sliceio, mendefinisikan serangkaian interface IO dasar, sepertiCloser,Writeryang umum digunakan, serta beberapa fungsi operasi IO dasar.io/fs, mendefinisikan serangkaian interface sistem file, bisa dibilang abstraksi sistem file.os, package interaksi dengan sistem operasi, menyediakan serangkaian fungsi konkret, dapat dipahami sebagai implementasi konkret dari dua package di atas.os/signal, package sinyal sistem operasi, digunakan untuk mendengarkan sinyal sistem operasi, terutama digunakan untuk implementasi penutupan program yang elegan.os/exec, package perintah sistem operasi, digunakan untuk mengeksekusi perintah sistem operasi.os/user, package pengguna sistem operasi, digunakan untuk mendapatkan informasi pengguna sistem operasi.bufio, package IO baca tulis berbuffer.path, package untuk menangani path yang dipisahkan garis miring, seperti url.path/filepath, package untuk menangani path file.math, package operasi matematikamath/bits, package operasi bitmath/cmplx, package operasi bilangan kompleks, juga menyediakan beberapa fungsi alat trigonometri.math/rand, package bilangan acak semumath/big, package perhitungan presisi tinggi bilangan besarcontainer/heap, implementasi heap minimumcontainer/list, implementasi linked list dua arahcontainer/ring, implementasi ringarchive/zip, package pengarsipan ziparchive/tar, package file pengarsipan tarcompress, package implementasi algoritma kompresi, seperti gzip, flate.database/sql, package interaksi dengan databaseencoding, package penanganan encoding, memiliki banyak sub-package di bawahnya, sepertijson,xml, dan lain-lain, juga ada yang sepertibase64.crypto, package penanganan enkripsi, memiliki banyak sub-package di bawahnya, seperti sha1, rsa, dll.go/ast, package pemetaan pohon sintaks abstrak kode sumber Gogo/parser, package parsing kode sumber Go menjadi pohon sintaks abstrakgo/importer, menyediakan akses ke importergo/format, package format bahasa Goarena, menyediakan fungsi alokasi dan pelepasan memori manual, masih dalam tahap eksperimentalruntime, package operasi runtime, banyak operasi di Go diimplementasikan oleh package ini.
