Go - 0 เริ่มต้น ภาษา Golang คืออะไร?
ภาษา Golang หรือ ภาษา Go เป็นภาษา Programming แบบ Open-Source ถูกพัฒนาขึ้นโดยบริษัท Google ในปี 2007 และเป็นภาษาที่ได้รับความนิยมมากขึ้นเรื่อย ๆ ในยุคนี้
โดยภาษา Go นั้นจะมีจุดเด่นในเรื่องของ Performance ที่สามารถทำงานได้อย่างรวดเร็วเทียบกับภาษาอื่น ๆ อีกทั้งยังมีจุดเด่นในเรื่องของ Simplicity ที่เน้นความง่ายในการเขียนและการอ่าน และยังสามารถทำ Concurrent Programming ได้ง่าย เพราะภาษา Golang ถูกออกแบบมาเพื่อทำให้ Application ที่ต้องใช้ Multi-Threading หรือ Distributed Systems เป็นเรื่องที่ง่ายขึ้น
ใครใช้ Golang บ้าง?

มีบริษัทชื่อดังทั้งในระดับโลก และระดับประเทศมากมายที่ใช้ Golang ในการพัฒนาระบบและ Application ต่างๆ ไม่ว่าจะเป็น
- Google – ในโปรเจกต์ Kubernetes และ Youtube
- LINE – Chat Application ยอดนิยมในเมืองไทย
- Twitter – Social Media ชื่อดังระดับโลก
- Grab – แพลตฟอร์ม Logistics & Delivery ยอดนิยม
- Agoda – แพลตฟอร์มจองตั๋วเครื่องบิน และโรงแรมยอดนิยม
- Lineman Wongnai – แอปรีวิวร้านอาหาร และ Delivery ชื่อดังในไทย
- Twitch – แพลตฟอร์ม Streaming ชื่อดังระดับโลก
- Alibaba – บริษัท Ecommerce ขนาดยักษ์ในประเทศจีน
- Medium – แพลตฟอร์มชื่อดังสำหรับนักอ่าน Articles และ Blog
- Docker – Tool ชื่อดังยอดนิยมสำหรับทำ Containerization ใน DevOps
Golang ทำอะไรได้บ้าง?

- Web Development & Backend Development
Golang เป็นภาษาที่เหมาะสำหรับการทำ Web Development มาก ๆ เพราะ Golang สามารถใช้สร้างระบบที่รองรับการทำงานใน Scale ใหญ่ที่มี Request จำนวนมากได้ ซึ่ง Golang ถูกออกแบบมาเพื่องานประเภทนี้โดยเฉพาะ ยกตัวอย่างเช่น มี HTTP Package อยู่ใน Standard Library ของ Go เลยโดยที่ไม่ต้องลง Library เพิ่มเติม หรือจะใช้ Framework ต่างๆ ช่วยให้ทำ Web Development ได้ง่ายและสะดวกขึ้น เช่น Gin Gonic, Martini, Buffalo - DevOps Automation
เพราะ Golang เป็นภาษาที่มี Syntax ที่ง่ายและเบา ทำให้เหมาะกับการใช้สร้าง Script ง่ายๆ ในการทำ Tasks ต่าง ๆ ได้ดี โดยเฉพาะ Tasks ในด้านงานของ DevOps เช่นการทำ Task Automation ต่างๆ ใน CI/CD Pipeline เป็นต้น นอกจากนี้ Golang ยังสามารถถูก Compile ได้อย่างรวดเร็ว จึงเหมาะกับงานประเภทนี้มากเช่นกัน - Cloud Computing Systems
นอกจากนี้ Golang ก็ยังสามารถใช้ในการพัฒนา Cloud Computing Systems ที่ Scalable ได้ดีมาก ๆ ด้วย ยกตัวอย่างเช่นโปรเจกต์ชื่อดังที่ไม่มีสาย DevOps คนไหนไม่รู้จัก อย่าง Docker และ Kubernetes ซึ่ง 2 โปรเจกต์นี้นั้นใช้ Golang เป็นภาษาหลักในการพัฒนา หรือแม้กระทั่งบริษัท Cloud Software ชื่อดังอย่าง Dropbox ก็ได้เปลี่ยนระบบหลังบ้านจาก Python มาเขียนใหม่ด้วย Golang แทน - Command Line Interface Tools
Golang ยังสามารถนำมาใช้สร้าง command-line interfaces หรือ CLI ได้ง่ายๆ ยกตัวอย่างเช่น docker-cli ของ Docker และ kubectl ของ Kubernetes ซึ่ง Golang เองก็มี framework ตัวช่วยอำนวยความสะดวกในการสร้าง CLI เช่น ใช้ Cobra ร่วมกับ Viper - Other Applications
Golang เองยังสามารถนำมาใช้สำหรับ Application อื่นๆ ได้อีกมากมาย เช่น การทำ Robot, Drone, IoT (Internet of Things) ด้วย tools อย่าง Gobot
ข้อดี ข้อเสีย ของ Golang
ข้อดีของ Golang
- เป็นภาษาที่สร้างโดย และสนับสนุนโดย Google
- เป็นภาษาที่ทำงานเร็ว เนื่องจากเป็นภาษาที่ใช้การ Compile
- เหมาะสำหรับงานที่ต้องการรองรับ Request เป็นจำนวนมาก
- ออกแบบมาเพื่อให้ทำ Concurrent Programming และ Multithreading ได้ง่าย
- มี Syntax และ Concept ที่เรียบง่าย ทำให้เรียนรู้ได้ไม่ยาก
- มี Standard Library และ Built-In Testing Module ที่ครอบคลุมการใช้งานใน Application ยุคใหม่
- เป็นภาษาที่เป็น Static type ทำให้ป้องกัน Error บางส่วนได้
ข้อเสียของ Golang
- เป็นภาษาที่ค่อนข้างใหม่ เมื่อเทียบกับภาษาอื่นๆ ทำให้อาจจะยังไม่มี Resource มากเมื่อเทียบกับภาษาอื่นๆ
- ไม่มี Feature ที่นิยมอย่างเช่น Generics หรือ Function Overloading ซึ่งอาจทำให้ต้องมีการเขียนโค้ดที่ซ้ำซ้อน แต่ประเด็นนี้ก็เป็นที่ถกเถียงกันในหมู่คนใช้ภาษา Go เช่นกันเพราะว่าการไม่มี Feature นี้นั้น ทำให้ภาษา Golang มีความ Simple ไม่ซับซ้อน
ผมขอดึงบทความมาจาก : https://blog.skooldio.com/what-is-golang/ นะครับ
เดียวต่อไปจะเริ่มมาลองเขียน code กันแบบง่ายๆครับ
Comments