Skip to content

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 terformat
  • html, package operasi template html
  • net, package yang menyediakan serangkaian operasi jaringan, sangat kuat
  • flag, package parsing argumen baris perintah
  • reflect, package operasi refleksi
  • log, package log bawaan
  • sort, package operasi pengurutan
  • regex, package ekspresi reguler
  • image, package operasi gambar
  • time, package operasi waktu
  • unicode, package operasi set karakter unicode
  • unsafe, menyediakan operasi pointer tanpa batasan tipe
  • syscall, package pemanggilan sistem yang disediakan oleh sistem operasi
  • testing, package pengujian, terutama digunakan saat menulis pengujian
  • sync, package operasi konkurensi
  • context, package konteks
  • strconv, package konversi string
  • strings, package operasi string
  • bytes, package operasi slice byte
  • maps, package operasi map
  • slices, package operasi slice
  • io, mendefinisikan serangkaian interface IO dasar, seperti Closer, Writer yang 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 matematika
  • math/bits, package operasi bit
  • math/cmplx, package operasi bilangan kompleks, juga menyediakan beberapa fungsi alat trigonometri.
  • math/rand, package bilangan acak semu
  • math/big, package perhitungan presisi tinggi bilangan besar
  • container/heap, implementasi heap minimum
  • container/list, implementasi linked list dua arah
  • container/ring, implementasi ring
  • archive/zip, package pengarsipan zip
  • archive/tar, package file pengarsipan tar
  • compress, package implementasi algoritma kompresi, seperti gzip, flate.
  • database/sql, package interaksi dengan database
  • encoding, package penanganan encoding, memiliki banyak sub-package di bawahnya, seperti json, xml, dan lain-lain, juga ada yang seperti base64.
  • crypto, package penanganan enkripsi, memiliki banyak sub-package di bawahnya, seperti sha1, rsa, dll.
  • go/ast, package pemetaan pohon sintaks abstrak kode sumber Go
  • go/parser, package parsing kode sumber Go menjadi pohon sintaks abstrak
  • go/importer, menyediakan akses ke importer
  • go/format, package format bahasa Go
  • arena, menyediakan fungsi alokasi dan pelepasan memori manual, masih dalam tahap eksperimental
  • runtime, package operasi runtime, banyak operasi di Go diimplementasikan oleh package ini.

Golang by www.golangdev.cn edit