22 lines
4.0 KiB
Markdown
22 lines
4.0 KiB
Markdown
# 1 การตั้งค่าสภาพแวดล้อมของ Go
|
|
|
|
ยินดีต้อนรับสู่โลกของ 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
|
|
|
|
## Links
|
|
|
|
- [Directory](preface.md)
|
|
- บทถัดไป: [การติดตั้ง](01.1.md)
|