เริ่มต้นเขียนโปรแกรมแรกด้วย Golang อย่างไร

Sharing is caring!

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

ภาษา Go หรือ Golang เป็นภาษาที่ถูกพัฒนาโดย Google ซึ่งเน้นความเรียบง่าย ความเร็ว และการจัดการ Concurrency ได้ดีเยี่ยม เหมาะสำหรับงาน Web Backend, DevOps, Cloud Native และระบบขนาดใหญ่

ติดตั้ง Golang บนเครื่องของคุณ

ก่อนจะเริ่มเขียนโปรแกรมแรก เราต้องติดตั้ง Go ก่อน โดยสามารถดาวน์โหลดได้ที่เว็บไซต์หลัก:

ขั้นตอนติดตั้งสำหรับระบบปฏิบัติการต่าง ๆ

  • Windows: ดาวน์โหลด installer แล้วคลิก Next อย่างเดียว
  • macOS: ใช้ brew install go หรือ installer
  • Linux: แตกไฟล์ tar.gz และเพิ่ม PATH

ตรวจสอบเวอร์ชัน

เมื่อเสร็จสิ้นการติดตั้งแล้ว ให้เปิด Terminal/Command Prompt แล้วพิมพ์คำสั่ง:

go version

หากติดตั้งสำเร็จ จะเห็นข้อความเช่น:

go version go1.21.1 darwin/amd64

สร้างโปรเจกต์แรกด้วย Go

มาสร้างไฟล์แรกของเราในชื่อ hello.go

// hello.go
package main

import "fmt"

func main() {
    fmt.Println("สวัสดี Golang!")
}
  

วิธีรันโปรแกรม

เปิด terminal ในโฟลเดอร์เดียวกับไฟล์ แล้วรัน:

go run hello.go

ผลลัพธ์ที่ได้:

สวัสดี Golang!

Go Workspace และ Go Modules

ตั้งแต่ Go 1.18 ขึ้นไป รองรับระบบ workspace และ go mod ช่วยจัดการ dependency ได้ดีมาก

go mod init github.com/username/hello-go

คำสั่งนี้จะสร้างไฟล์ go.mod ซึ่งเก็บข้อมูลชื่อ module และเวอร์ชัน

เพิ่มฟังก์ชันใหม่

ลองสร้างฟังก์ชันใหม่เพื่อแสดงข้อความหลายบรรทัด:

func sayHi(name string) {
    fmt.Printf("สวัสดี %s!\n", name)
}
  

และเรียกใช้ใน main:

func main() {
    fmt.Println("โปรแกรม Go ตัวแรก")
    sayHi("นักพัฒนา")
}
  

ภาพประกอบ: การทำงานของ Go Program

ฟีเจอร์พื้นฐานที่ควรรู้

  • Variable Declaration: ใช้ var, :=
  • Loop: ใช้ for เป็น loop เดียวใน Go
  • Condition: ใช้ if, switch
  • Function: รองรับ return หลายค่า
  • Struct และ Method: แทนคลาส

เคล็ดลับสำหรับมือใหม่

  • ใช้ go fmt จัด format โค้ดให้เป็นระเบียบ
  • ใช้ go run ระหว่างพัฒนา และ go build เมื่อ deploy
  • อ่านเอกสารจาก pkg.go.dev เพื่อเข้าใจ package ต่าง ๆ

บทสรุป

Golang เป็นภาษาที่เหมาะกับผู้เริ่มต้น เพราะ syntax เรียบง่าย ไม่ซับซ้อน และมีความเร็วในการทำงานสูงมาก หากคุณต้องการเริ่มเขียน backend, cli tools หรือเรียนรู้ระบบที่ใช้ concurrency Go จะเป็นตัวเลือกที่น่าสนใจอย่างยิ่ง


บทความนี้เผยแพร่โดย: poolsawat.com | เขียนโดย: King Pool

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *