ยินดีต้อนรับสู่โลกของ Go เรามาเริ่มต้นกันเลย!
Go เป็นภาษาประเภทคอมไพล์ที่ทำงานได้อย่างรวดเร็ว มีระบบ garbage collection สนับสนุนระบบ concurrent ซึ่งทำให้เกิดข้อได้เปรียบกว่าภาษาอื่น ดังนี้:
- คอมไพล์โปรเจ็คขนาดใหญ่ได้ในเวลาไม่กี่วินาที
- จัดเตรียมรูปแบบในการพัฒนาซอฟท์แวร์แบบที่เข้าใจได้ง่าย โดยหลีกเลี่ยงปัญหาที่เกิดกับ header files ในภาษาซี
- เป็นภาษาประเภท static ที่ไม่ได้มี levels ในระบบชนิดข้อมูล (type) ทำให้ผู้ใช้ไม่จำเป็นต้องเสียเวลาในการจัดการกับความสัมพันธ์ระหว่างชนิดข้อมูล (type) ซึ่งอันที่จริงแล้วก็คล้ายกับเป็นภาษาแบบ object-oriented ชนิดกลายๆ นั่นเอง
- มี garbage collection และสนับสนุนการทำ concurrency และการสื่อสาร
- ออกแบบมาเพื่อรองรับกับคอมพิวเตอร์แบบหลายคอร์ (multi-core computers)
Go เป็นภาษาประเภทที่ต้องคอมไพล์ ซึ่งได้หลอมรวมประสิทธิภาพในการพัฒนาของภาษาที่ทำงานในแบบ interpreter หรือเรียกอีกอย่างหนึ่งว่าภาษาแบบ dynamic กับความปลอดภัยในแบบของภาษา static เอาไว้ด้วยกัน นับเป็นทางเลือกในการพัฒนาสำหรับคอมพิวเตอร์สมัยใหม่ที่ทำงานแบบหลายคอร์ (multi-core) และเชื่อมต่อกันด้วยระบบเครือข่าย และจากเป้าหมายที่กล่าวมานี้จึงมีปัญหาบางอย่างที่จำเป็นต้องแก้ในระดับของภาษาเอง ยกตัวอย่างเช่น การสนับสนุนรูปแบบชนิดข้อมูลแบบเบา (lightweight type) สนับสนุนรูปแบบการทำงานแบบ concurrency ในตัวเอง และมีการทำ garbage collection ที่ถูกควบคุมอย่างเคร่งครัด ซึ่งเป็นเวลาระยะหนึ่งแล้วที่ไม่มี packages หรือเครื่องมือที่ออกแบบมาเพื่อแก้ปัญหาเหล่านี้อย่างจริงจังในทางปฎิบัติ นี่จึงเป็นที่มาของแรงบันดาลใจในการสร้างภาษา Go ขึ้นมา
ในบทนี้ ผมจะแสดงการติดตั้งและการตั้งค่าสภาพแวดล้อมในการพัฒนาของ Go
- Directory
- บทถัดไป: การติดตั้ง