Technology

Golang คืออะไร? ดียังไง? ทำไมคนใช้เยอะ? รวมสิ่งที่ควรรู้เกี่ยวกับ Golang

หลายๆ คนที่สนใจงานด้าน Web Development หรือสนใจด้าน DevOps ก็คงเคยได้ยินเกี่ยวกับภาษา Golang มาบ้างไม่มากก็น้อย อาจจะเคยได้ยินว่าเป็นภาษาที่กำลังมาแรง หรือว่าเป็นภาษาที่มี Performance สูง สามารถทำงานได้อย่างรวดเร็ว หรือแม้กระทั่งเป็นภาษาที่พัฒนาโดยบริษัท Google

ซึ่งในบล็อกนี้ เราจะมาเจาะลึกรายละเอียดของภาษา Golang กันว่า Golang คืออะไร? Golang ดียังไง? ทำไม Golang ถึงเป็นภาษาที่นิยมใช้กันทั่วโลก?

งั้นเรามาเริ่มต้นทำความรู้จักกับภาษา Golang กันก่อนดีกว่าครับ

ภาษา Golang คืออะไร?

Golang คืออะไร? ดียังไง? ทำไมคนใช้เยอะ? รวมสิ่งที่ควรรู้เกี่ยวกับ Golang - Skooldio Blog | Golang Logo

ภาษา Golang หรือ ภาษา Go เป็นภาษา Programming แบบ Open-Source ถูกพัฒนาขึ้นโดยบริษัท Google ในปี 2007 และเป็นภาษาที่ได้รับความนิยมมากขึ้นเรื่อย ๆ ในยุคนี้

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

ใครใช้ Golang บ้าง?

Golang คืออะไร? ดียังไง? ทำไมคนใช้เยอะ? รวมสิ่งที่ควรรู้เกี่ยวกับ Golang - Skooldio Blog | Companies using Golang

มีบริษัทชื่อดังทั้งในระดับโลก และระดับประเทศมากมายที่ใช้ Golang ในการพัฒนาระบบและ Application ต่างๆ ไม่ว่าจะเป็น

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

และบริษัทอื่นๆ อีกมากมาย

Golang ทำอะไรได้บ้าง?

Golang คืออะไร? ดียังไง? ทำไมคนใช้เยอะ? รวมสิ่งที่ควรรู้เกี่ยวกับ Golang - Skooldio Blog | Use Cases of Golang

  1. Web Development & Backend Development
    Golang เป็นภาษาที่เหมาะสำหรับการทำ Web Development มาก ๆ เพราะ Golang สามารถใช้สร้างระบบที่รองรับการทำงานใน Scale ใหญ่ที่มี Request จำนวนมากได้ ซึ่ง Golang ถูกออกแบบมาเพื่องานประเภทนี้โดยเฉพาะ ยกตัวอย่างเช่น มี HTTP Package อยู่ใน Standard Library ของ Go เลยโดยที่ไม่ต้องลง Library เพิ่มเติม หรือจะใช้ Framework ต่างๆ ช่วยให้ทำ Web Development ได้ง่ายและสะดวกขึ้น เช่น Gin Gonic, Martini, Buffalo
  2. DevOps Automation
    เพราะ Golang เป็นภาษาที่มี Syntax ที่ง่ายและเบา ทำให้เหมาะกับการใช้สร้าง Script ง่ายๆ ในการทำ Tasks ต่าง ๆ ได้ดี โดยเฉพาะ Tasks ในด้านงานของ DevOps เช่นการทำ Task Automation ต่างๆ ใน CI/CD Pipeline เป็นต้น นอกจากนี้ Golang ยังสามารถถูก Compile ได้อย่างรวดเร็ว จึงเหมาะกับงานประเภทนี้มากเช่นกัน
  3. Cloud Computing Systems
    นอกจากนี้ Golang ก็ยังสามารถใช้ในการพัฒนา Cloud Computing Systems ที่ Scalable ได้ดีมาก ๆ ด้วย ยกตัวอย่างเช่นโปรเจกต์ชื่อดังที่ไม่มีสาย DevOps คนไหนไม่รู้จัก อย่าง Docker และ Kubernetes  ซึ่ง 2 โปรเจกต์นี้นั้นใช้ Golang เป็นภาษาหลักในการพัฒนา หรือแม้กระทั่งบริษัท Cloud Software ชื่อดังอย่าง Dropbox ก็ได้เปลี่ยนระบบหลังบ้านจาก Python มาเขียนใหม่ด้วย Golang แทน
  4. Command Line Interface Tools
    Golang ยังสามารถนำมาใช้สร้าง command-line interfaces หรือ CLI ได้ง่ายๆ ยกตัวอย่างเช่น docker-cli ของ Docker และ kubectl ของ Kubernetes ซึ่ง Golang เองก็มี framework ตัวช่วยอำนวยความสะดวกในการสร้าง CLI เช่น ใช้ Cobra ร่วมกับ Viper
  5. Other Applications
    Golang เองยังสามารถนำมาใช้สำหรับ Application อื่นๆ ได้อีกมากมาย เช่น การทำ Robot, Drone, IoT (Internet of Things) ด้วย tools อย่าง Gobot

ข้อดี ข้อเสีย ของ Golang

Golang คืออะไร? ดียังไง? ทำไมคนใช้เยอะ? รวมสิ่งที่ควรรู้เกี่ยวกับ Golang - Skooldio Blog | Golang Pros & Consข้อดีของ 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 ไม่ซับซ้อน

ตัวอย่างการเขียนโค้ดภาษา Golang

Code Examples

ตัวอย่างคลาสสิคอย่าง Hello World

Golang จะมี Syntax ของภาษาที่ชาว Developer ส่วนใหญ่คุ้นเคยกัน ซึ่งสังเกตว่าจะมี Function Main ที่คล้ายการเขียนโค้ดภาษา C และ Java

package main

import "fmt"

func main() {
    fmt.Println("hello world")
}

 

ตัวอย่างการเขียน Simple Web Server ด้วย Standard Go Library

สังเกตว่า HTTP จะเป็น Standard Package ของ Golang ที่สามารถใช้ได้เลยโดยไม่ต้องลง Library เพิ่ม และมีการใช้ Function fmt.Fprintf ที่ใช้ความสามารถของ Interface ใน Golang ในการเขียน Http Response

package main

import ( 
    "fmt" 
    "net/http" 
)

func hello(w http.ResponseWriter, req *http.Request) { 
    fmt.Fprintf(w, "hello world\n") 
} 

func main() { 
    http.HandleFunc("/hello", hello) 
    http.ListenAndServe(":8080", nil) 
}

อยากเริ่มฝึก Golang แล้ว ทำยังไงดี?

สำหรับมือใหม่ที่อยากเริ่มเขียน Golang แนะนำให้เริ่มต้นจาก GoTour ในเว็บ Official ของ Golang ก่อนเลย ซึ่งใน GoTour จะแนะนำให้รู้จักกับภาษา Golang และ Feature เบื้องต้นต่างๆ ของ Golang ซึ่งมีแปลเป็นภาษาไทยด้วยสำหรับคนที่ไม่ถนัดภาษาอังกฤษ

สำหรับคนที่พอมีประสบการณ์ในการเขียน Golang มาระดับนึงแล้ว แนะนำให้ศึกษาใน Official Guide ของ Golang ที่ชื่อว่า Effective Go ที่จะสอนเกี่ยวกับ Convention ต่างๆ ในวิธีการเขียน Go ที่ดีและมีประสิทธิภาพ

และสำหรับผู้ที่อยากฝึกเขียน Go หรืออยากเป็น Go Developer มืออาชีพ ตอนนี้ทาง Skooldio ได้มีคอร์สซีรีส์ Golang Course Series ที่จะสอนตั้งแต่เริ่มต้นการใช้ภาษา Go ไปจนถึงระดับ Advanced และสามารถสร้าง Project จริงของตัวเองออกมาได้ด้วยภาษา Go ลงทะเบียนเพื่อรับส่วนลดพิเศษ 50% ได้ที่นี่ (50 ท่านแรกเท่านั้น!)

เริ่มต้นจาก 0 สู่การเป็น Go Developer มืออาชีพ | Skooldio Bundle: The Ultimate Go Series

References

  1. https://codilime.com/blog/why-golang-may-be-a-good-choice-for-your-project/
  2. https://github.com/golang/go/wiki/GoUsers
  3. https://brainhub.eu/library/companies-using-golang/
  4. https://hackr.io/blog/best-programming-languages-to-learn-2021-jobs-future
  5. https://gobyexample.com/

You may also like

Tech at Skooldio

กว่าจะเป็น Skooldio Tutorials ทีม Software Engineer ต้องทำอะไรบ้าง? – Tech at Skooldio

เมื่อต้นปีที่แล้ว Skooldio ปล่อย Product ใหม่ มาหนึ่งตัวหนึ่งนั่นคือ Skooldio Tutorials เป็น Platform รวมคลิปสั้นให้ความรู้แบบกระชับ เพื่อให้คนเข้ามาเรียนรู้ได้ไว ๆ ไม่ต้องใช้เวลามากเท่าเรียนแบบเต็มคอร์ส และยังใช้เป็นการ Audition ...
Technology

แนะนำ 7 ภาษา Programming Language มาแรง น่าเรียนในปี 2021-2022

ทุกวันนี้ Technology ได้มีพัฒนาอย่างก้าวกระโดดอย่างมาก รวมไปถึงภาษา Programming Language น่าสนใจใหม่ ๆ มากมาย กำลังเติบโตอย่างรวดเร็ว พร้อมกับ Community ที่กำลังใหญ่ขึ้นเรื่อย ๆ ซึ่งในทักษะการเขียนโปรแกรมนั่น ...

More in:Technology

Kotlin จะมาแทนที่ Java หรือไม่ ทำไม Google เลือก Kotlin เป็นภาษาหลักในการพัฒนา Android - Skooldio Blog | รูปหน้าปก Technology

ทำไมภาษา Kotlin ถึงเป็นภาษาหลักในการพัฒนา Android? และ Kotlin จะมาแทนที่ Java หรือไม่?

ทำไมภาษา Kotlin ถึงเป็นภาษาแห่งอนาคตของนักพัฒนา Android อะไรคือเหตุผลที่ Google ประกาศรับรองให้ Kotlin เป็นภาษาหลักในการพัฒนา Android และ Kotlin จะมาแทนที่ Java หรือไม่.. ...
Business

อยากเป็นสาย Data เก่ง ๆ ต้องฝึก! 6 ทักษะช่วย Data Scientist ทำงานปัง

บทความจาก Harvard Business Review ชวนเราขบคิดถึงปัญหาของ Data Scientist ในองค์กรใหญ่ เมื่อถึงเวลาที่ต้องนำเสนอข้อมูล บ่อยครั้งที่ Data Scientist ต้องกุมขมับ เพราะไม่รู้จะพูดอย่างไรให้ผู้บริหารเข้าใจ บางครั้งเห็นข้อมูลสำคัญมากอยู่ตรงหน้า ...
Technology

Kotlin ภาษาแห่งอนาคตของนักพัฒนา Android

Kotlin เป็นหนึ่งในภาษา Programming ที่กำลังได้รับความนิยมอย่างมากในวงการ ซึ่งผลสำรวจจาก JetBrains ในเดือนธันวาคม ปี 2019 พบว่ามีนักพัฒนาจำนวน 4 ล้านคนกำลังใช้ Kotlin จากผลสำรวจของ 2020 ...
จาก React Developer สู่การทำ Flutter Developer | Skooldio Blog Technology

จาก React Developer สู่การทำ Flutter Developer

ในช่วง 2 – 3 ปีมานี้นักพัฒนาหรือผู้ที่มีความสนใจในเทคโนโลยีหลายๆ คนคงจะเคยได้ยินหรือได้รู้จักสิ่งที่เรียกว่า Flutter มาบ้างแล้ว ผมเองก็เป็นหนึ่งในนั้นที่ได้รู้จักกับ Flutter มาซักพักแล้วแต่ไม่ได้มีโอกาสศึกษาและทำความเข้าใจมันสักที จนเมื่อไม่นานมานี้ ได้มีโอกาสได้ศึกษาเจ้า Flutter และนำมาใช้ในการพัฒนาแอปพลิเคชันๆ ...

Comments are closed.