บทนำเกี่ยวกับไลบรารีมาตรฐาน Go
เมื่อเขียนบทความนี้ เวอร์ชันการเผยแพร่ของ go มาที่ 1.21 แล้ว ห่างจากเวลาที่เว็บไซต์นี้ก่อตั้งขึ้น也快จะหนึ่งปีแล้ว
ไลบรารีมาตรฐานของภาษา Go มีความอุดมสมบูรณ์มาก (ไม่รวมโครงสร้างข้อมูล) ฟังก์ชันก็ทรงพลังมาก API เป็นมิตรกับนักพัฒนามาก สามารถใช้ไลบรารีมาตรฐานได้อย่างคล่องแคล่วจะช่วยให้การพัฒนาประจำวันมีประโยชน์มาก ตัวอย่างเช่นคุณสามารถไม่ต้องใช้ dependencies ภายนอกใดๆ ใช้เพียง net/http, html/template, database/sql สามไลบรารีนี้ก็สามารถพัฒนาโปรเจกต์ Web ที่เป็นอิสระและสมบูรณ์ได้
เนื้อหาของไลบรารีมาตรฐานไม่ได้ถูกอัปเดตตลอดเวลาเพราะเนื้อหามีมากเกินไป ดังนั้นด้านล่างจะสรุปบทบาทของไลบรารีมาตรฐานที่ใช้บ่อยบางอย่าง เพื่อให้สามารถเลือกสิ่งที่สนใจ去了解ได้ คำอธิบายระดับแพ็กเกจของแต่ละไลบรารีมาตรฐานจะอธิบายโดยละเอียดว่าแพ็กเกจนี้ใช้ทำอะไร
fmtแพ็กเกจสำหรับจัดการการป้อนและส่งออกที่จัดรูปแบบhtmlแพ็กเกจดำเนินการเทมเพลต htmlnetจัดเตรียมชุดแพ็กเกจสำหรับการดำเนินการเครือข่าย ค่อนข้างทรงพลังflagแพ็กเกจแยกวิเคราะห์พารามิเตอร์บรรทัดคำสั่งreflectแพ็กเกจการสะท้อนlogแพ็กเกจบันทึกที่มาพร้อมsortแพ็กเกจการดำเนินการเรียงลำดับregexแพ็กเกจนิพจน์ทั่วไปimageแพ็กเกจดำเนินการรูปภาพtimeแพ็กเกจดำเนินการเวลาunicodeแพ็กเกจดำเนินการชุดอักขระ unicodeunsafeจัดเตรียมการดำเนินการพอยน์เตอร์โดยไม่มีข้อจำกัดประเภทsyscallแพ็กเกจการเรียกใช้ระบบที่ระบบปฏิบัติการจัดเตรียมtestingแพ็กเกจทดสอบ ส่วนใหญ่ใช้เมื่อเขียนทดสอบsyncแพ็กเกจการดำเนินการพร้อมกันcontextแพ็กเกจบริบทstrconvแพ็กเกจการแปลงสตริงstringsแพ็กเกจดำเนินการสตริงbytesแพ็กเกจดำเนินการสไลซ์ไบต์mapsแพ็กเกจดำเนินการ mapslicesแพ็กเกจดำเนินการสไลซ์ioกำหนดชุดอินเทอร์เฟซ IO พื้นฐาน เช่นCloser,Writerที่ใช้บ่อย และฟังก์ชันการดำเนินการ IO พื้นฐานio/fsกำหนดชุดอินเทอร์เฟซระบบไฟล์ ถือเป็นการนามธรรมของระบบไฟล์osแพ็กเกจโต้ตอบกับระบบปฏิบัติการ จัดเตรียมชุดฟังก์ชันที่เป็นรูปธรรม สามารถเข้าใจง่ายว่าเป็นการดำเนินการข้างต้นสองอย่างos/signalแพ็กเกจสัญญาณระบบปฏิบัติการ ใช้สำหรับฟังสัญญาณระบบปฏิบัติการ ส่วนใหญ่ใช้สำหรับการปิดโปรแกรมอย่างสง่างามos/execแพ็กเกจคำสั่งระบบปฏิบัติการ ใช้สำหรับดำเนินการคำสั่งระบบปฏิบัติการos/userแพ็กเกจผู้ใช้ระบบปฏิบัติการ ใช้สำหรับรับข้อมูลผู้ใช้ระบบปฏิบัติการbufioแพ็กเกจการอ่านเขียน IO ที่มีบัฟเฟอร์pathแพ็กเกจจัดการเส้นทางที่คั่นด้วยเครื่องหมายทับ เช่น urlpath/filepathแพ็กเกจจัดการเส้นทางไฟล์mathแพ็กเกจดำเนินการทางคณิตศาสตร์math/bitsแพ็กเกจดำเนินการบิตmath/cmplxแพ็กเกจดำเนินการจำนวนเชิงซ้อน ยังจัดเตรียมฟังก์ชันเครื่องมือตรีโกณมิติmath/randแพ็กเกจสุ่มเทียมmath/bigแพ็กเกจการคำนวณความแม่นยำสูงจำนวนใหญ่container/heapการดำเนินการ heap ขั้นต่ำcontainer/listการดำเนินการ linked list สองทางcontainer/ringการดำเนินการวงแหวนarchive/zipแพ็กเกจการบีบอัด ziparchive/tarแพ็กเกจไฟล์ tarcompressแพ็กเกจการดำเนินการอัลกอริทึมการบีบอัด เช่น gzip, flatedatabase/sqlแพ็กเกจโต้ตอบกับฐานข้อมูลencodingแพ็กเกจจัดการการเข้ารหัส มีแพ็กเกจย่อยมากมาย เช่นjson,xmlและbase64cryptoแพ็กเกจจัดการการเข้ารหัส มีแพ็กเกจย่อยมากมาย เช่น sha1, rsago/astแพ็กเกจการแมปต้นไม้ไวยากรณ์นามธรรมของซอร์สโค้ด gogo/parserแพ็กเกจแยกวิเคราะห์ซอร์สโค้ด go เป็นต้นไม้ไวยากรณ์นามธรรมgo/importerจัดเตรียมการเข้าถึงตัวนำเข้าgo/formatแพ็กเกจจัดรูปแบบภาษา goarenaจัดเตรียมฟังก์ชันการจัดสรรและปล่อยหน่วยความจำด้วยตนเอง อยู่ในระยะทดลองruntimeแพ็กเกจการดำเนินการรันไทม์ การดำเนินการมากมายใน go ดำเนินการโดยแพ็กเกจนี้
