บันทึกการเรียน Golang - เริ่มต้นเขียน Golang วันที่ 1
สวัสดีครับ บทความนี้เป็นบทความที่ผมเขียนเอาไว้เพื่อทบทวนตัวเอง และก็เป็น Learning Journey ของตัวเอง และทำเป็น Learn In Public ครับ เนื่องจากช่วงนี้ฝึกเขียน Go (Golang) เวลาว่างๆ (ช่วงนี้สนใจหลายๆ ภาษาในเวลาเดียวกันด้วยซิ)
เลยคิดว่าไหนๆ ก็ศึกษา ทบทวน เอามาทำเป็นบทความไปด้วย น่าจะช่วยให้เราเข้าใจมากขึ้น รวมถึงอาจจะมีประโยชน์สำหรับคนที่เริ่มศึกษาเหมือนๆกัน แลกเปลี่ยนความรู้ ส่วนไหนผิดพลาด แนะนำได้นะครับ
เอาจริงๆ คือตอนแรกผมเห็น Syntax แล้วรู้สึกว่าไม่ค่อยชอบเท่าไหร่ และวิธีการเขียนก็ไม่ได้น่าสนใจ ทำให้ไม่ได้รู้สึกอยากเรียนรู้ ทีนี้ ก็มาย้อนคิดว่า เอะ เราไม่ชอบ ทั้งๆที่ยังไม่เคยลอง ไม่เคยเขียนเลย ก็เลยเกิดเป็นแนวคิดขึ้นมา ลองศึกษาดูก่อน แล้วค่อยตัดสินใจว่า ดีหรือไม่ดี ชอบหรือไม่ชอบ

เริ่มต้นเรียนรู้
แน่นอนแหล่งศึกษาของผม ก็ Official Website ของ Golang เลยครับ ในหมวด Learn มี Reference ให้ไปอ่านเพิ่ม หากมีประสบการณ์ก็อาจจะเลือก Web Dev หรือไม่เคยเขียนภาษาไหนมาก่อน ก็เริ่มจาก New To Coding

ส่วนแหล่งเรียนรู้ที่ผมว่าเหมาะกับมือใหม่ คือ Go by Example กับ A Tour of Go ครับ
ติดตั้ง Golang
วิธีการติดตั้ง Go ที่ง่ายสุดคือ ดาวน์โหลดตัวติดตั้ง ที่เว็บไซต์ของ Go (เลือก OS ที่เราใช้งาน ถ้า Windows ก็ได้ไฟล์ติดตั้งได้เลย)

หากใช้ Mac OS ก็จะสามารถติดตั้งผ่าน Homebrew ได้
brew install go
หรืออย่าง Ubuntu ก็ใช้พวก apt-get ได้เช่นกัน
sudo apt install golang-go
สำหรับผม เนื่องจากผมใช้ asdf อยู่แล้ว ทำให้ผมตัดสินใจ ติดตั้งผ่าน asdf นั่นเอง
# 1️⃣ เพิ่ม plugin golang
asdf plugin add golang https://github.com/asdf-community/asdf-golang.git
# 2️⃣ ติดตั้ง Golang
asdf install golang 1.21.0
# 3️⃣ set version golang
asdf global golang 1.21.0
ทดสอบเช็คเวอร์ชั่น go บนเครื่องเรา (ถ้ามีผลลัพธ์แสดงว่า เราติดตั้ง Go บนเครื่องเรียบร้อยแล้ว)
go version
# ผลลัพธ์
go version go1.21.0 darwin/arm64
Hello World
หลังจากติดตั้ง Golang ไปเรียบร้อย ก็ได้เวลาลองเขียนโปรแกรม Golang แรก และแน่นอน พลาดไม่ได้ด้วยการเขียน Hello World นั่นเอง
อ้อ ก่อนไปเริ่มเขียนไฟล์ Go ขอพูดถึงเรื่อง Text Editor / IDE ซักเล็กน้อย คิดว่าตัวเลือก ส่วนใหญ่น่าจะเป็น
- VS Code + Go for Visual Studio Code - ฟรี
- Goland - เสียตัง
- Vim / Nano / etc. เลือกใช้ตามที่สะดวก
สร้างไฟล์ hello.go
ขึ้นมา ข้างในมีโค๊ดแบบนี้
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
ปกติตัว Golang เราจำเป็นต้อง compile เพื่อให้เป็น executable file ซะก่อน ก่อนที่เราจะสามารถรันได้ ปกติจะเป็นไฟล์ชื่อตามที่เราตั้ง ไม่มี นามสกุล .go
และ windows ก็จะเป็น .exe
# compile
go build hello.go
# run ตัว exec
./hello
# หรือ windows จะเป็น
./hello.exe
นอกจากนี้ เราสามารถใช้คำสั่ง go run
เพื่อสั่งให้มัน build compile และ run ในคำสั่งเดียวได้เลย โดยใช้คำสั่ง go run <filename>
go run hello.go
# จะได้ผลลัพธ์เป็น
# Hello World!
จบไปแล้ว สำหรับการฝึกเขียนภาษา Golang วันแรก จริงๆ ในฐานะที่เขียนภาษาอื่นๆ มาก่อน ก็ลองอ่านไปเยอะแล้ว และก็ลองไปอ่าน Learn X in Y Minutes ของ Go มา ก็คิดว่าพวก fundamental หลักๆ ก็ไม่ได้ต่างจากภาษาอื่นๆเท่าไหร่ แต่เดี๋ยวเอาไว้เขียนในบทความถัดๆไปละกัน
และสำหรับวิธีการเรียน และฝึกของผมคือ ผมให้ความสำคัญกับความต่อเนื่อง และความสม่ำเสมอครับ อย่างเช่น ผมขอเรียน วันละ 15-30 นาที ทุกๆ วัน ดีกว่า เรียน 4-5ชั่วโมง 1 ครั้งต่อสัปดาห์ หรือ 8ชั่วโมง เดือนละครั้ง อะไรพวกนี้ แม้จะเห็นผลลัพธ์ช้า แต่ผมก็ถนัดและชอบแบบนี้ อีกอย่าง ก็เป็น Hobby เรียนเล่นๆ เวลาว่าง 🤣
ไว้เจอกันบทความถัดไป
Happy Coding ❤️