Skip to content

บทนำเกี่ยวกับไลบรารีมาตรฐาน Go

เมื่อเขียนบทความนี้ เวอร์ชันการเผยแพร่ของ go มาที่ 1.21 แล้ว ห่างจากเวลาที่เว็บไซต์นี้ก่อตั้งขึ้น也快จะหนึ่งปีแล้ว

ไลบรารีมาตรฐานของภาษา Go มีความอุดมสมบูรณ์มาก (ไม่รวมโครงสร้างข้อมูล) ฟังก์ชันก็ทรงพลังมาก API เป็นมิตรกับนักพัฒนามาก สามารถใช้ไลบรารีมาตรฐานได้อย่างคล่องแคล่วจะช่วยให้การพัฒนาประจำวันมีประโยชน์มาก ตัวอย่างเช่นคุณสามารถไม่ต้องใช้ dependencies ภายนอกใดๆ ใช้เพียง net/http, html/template, database/sql สามไลบรารีนี้ก็สามารถพัฒนาโปรเจกต์ Web ที่เป็นอิสระและสมบูรณ์ได้

เนื้อหาของไลบรารีมาตรฐานไม่ได้ถูกอัปเดตตลอดเวลาเพราะเนื้อหามีมากเกินไป ดังนั้นด้านล่างจะสรุปบทบาทของไลบรารีมาตรฐานที่ใช้บ่อยบางอย่าง เพื่อให้สามารถเลือกสิ่งที่สนใจ去了解ได้ คำอธิบายระดับแพ็กเกจของแต่ละไลบรารีมาตรฐานจะอธิบายโดยละเอียดว่าแพ็กเกจนี้ใช้ทำอะไร

  • fmt แพ็กเกจสำหรับจัดการการป้อนและส่งออกที่จัดรูปแบบ
  • html แพ็กเกจดำเนินการเทมเพลต html
  • net จัดเตรียมชุดแพ็กเกจสำหรับการดำเนินการเครือข่าย ค่อนข้างทรงพลัง
  • flag แพ็กเกจแยกวิเคราะห์พารามิเตอร์บรรทัดคำสั่ง
  • reflect แพ็กเกจการสะท้อน
  • log แพ็กเกจบันทึกที่มาพร้อม
  • sort แพ็กเกจการดำเนินการเรียงลำดับ
  • regex แพ็กเกจนิพจน์ทั่วไป
  • image แพ็กเกจดำเนินการรูปภาพ
  • time แพ็กเกจดำเนินการเวลา
  • unicode แพ็กเกจดำเนินการชุดอักขระ unicode
  • unsafe จัดเตรียมการดำเนินการพอยน์เตอร์โดยไม่มีข้อจำกัดประเภท
  • syscall แพ็กเกจการเรียกใช้ระบบที่ระบบปฏิบัติการจัดเตรียม
  • testing แพ็กเกจทดสอบ ส่วนใหญ่ใช้เมื่อเขียนทดสอบ
  • sync แพ็กเกจการดำเนินการพร้อมกัน
  • context แพ็กเกจบริบท
  • strconv แพ็กเกจการแปลงสตริง
  • strings แพ็กเกจดำเนินการสตริง
  • bytes แพ็กเกจดำเนินการสไลซ์ไบต์
  • maps แพ็กเกจดำเนินการ map
  • slices แพ็กเกจดำเนินการสไลซ์
  • io กำหนดชุดอินเทอร์เฟซ IO พื้นฐาน เช่น Closer, Writer ที่ใช้บ่อย และฟังก์ชันการดำเนินการ IO พื้นฐาน
  • io/fs กำหนดชุดอินเทอร์เฟซระบบไฟล์ ถือเป็นการนามธรรมของระบบไฟล์
  • os แพ็กเกจโต้ตอบกับระบบปฏิบัติการ จัดเตรียมชุดฟังก์ชันที่เป็นรูปธรรม สามารถเข้าใจง่ายว่าเป็นการดำเนินการข้างต้นสองอย่าง
  • os/signal แพ็กเกจสัญญาณระบบปฏิบัติการ ใช้สำหรับฟังสัญญาณระบบปฏิบัติการ ส่วนใหญ่ใช้สำหรับการปิดโปรแกรมอย่างสง่างาม
  • os/exec แพ็กเกจคำสั่งระบบปฏิบัติการ ใช้สำหรับดำเนินการคำสั่งระบบปฏิบัติการ
  • os/user แพ็กเกจผู้ใช้ระบบปฏิบัติการ ใช้สำหรับรับข้อมูลผู้ใช้ระบบปฏิบัติการ
  • bufio แพ็กเกจการอ่านเขียน IO ที่มีบัฟเฟอร์
  • path แพ็กเกจจัดการเส้นทางที่คั่นด้วยเครื่องหมายทับ เช่น url
  • path/filepath แพ็กเกจจัดการเส้นทางไฟล์
  • math แพ็กเกจดำเนินการทางคณิตศาสตร์
  • math/bits แพ็กเกจดำเนินการบิต
  • math/cmplx แพ็กเกจดำเนินการจำนวนเชิงซ้อน ยังจัดเตรียมฟังก์ชันเครื่องมือตรีโกณมิติ
  • math/rand แพ็กเกจสุ่มเทียม
  • math/big แพ็กเกจการคำนวณความแม่นยำสูงจำนวนใหญ่
  • container/heap การดำเนินการ heap ขั้นต่ำ
  • container/list การดำเนินการ linked list สองทาง
  • container/ring การดำเนินการวงแหวน
  • archive/zip แพ็กเกจการบีบอัด zip
  • archive/tar แพ็กเกจไฟล์ tar
  • compress แพ็กเกจการดำเนินการอัลกอริทึมการบีบอัด เช่น gzip, flate
  • database/sql แพ็กเกจโต้ตอบกับฐานข้อมูล
  • encoding แพ็กเกจจัดการการเข้ารหัส มีแพ็กเกจย่อยมากมาย เช่น json, xml และ base64
  • crypto แพ็กเกจจัดการการเข้ารหัส มีแพ็กเกจย่อยมากมาย เช่น sha1, rsa
  • go/ast แพ็กเกจการแมปต้นไม้ไวยากรณ์นามธรรมของซอร์สโค้ด go
  • go/parser แพ็กเกจแยกวิเคราะห์ซอร์สโค้ด go เป็นต้นไม้ไวยากรณ์นามธรรม
  • go/importer จัดเตรียมการเข้าถึงตัวนำเข้า
  • go/format แพ็กเกจจัดรูปแบบภาษา go
  • arena จัดเตรียมฟังก์ชันการจัดสรรและปล่อยหน่วยความจำด้วยตนเอง อยู่ในระยะทดลอง
  • runtime แพ็กเกจการดำเนินการรันไทม์ การดำเนินการมากมายใน go ดำเนินการโดยแพ็กเกจนี้

Golang by www.golangdev.cn edit