บันทึกการเรียน Golang - เริ่มต้นเขียน Golang วันที่ 1

Go Aug 26, 2023

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

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

เอาจริงๆ คือตอนแรกผมเห็น Syntax แล้วรู้สึกว่าไม่ค่อยชอบเท่าไหร่ และวิธีการเขียนก็ไม่ได้น่าสนใจ ทำให้ไม่ได้รู้สึกอยากเรียนรู้ ทีนี้ ก็มาย้อนคิดว่า เอะ เราไม่ชอบ ทั้งๆที่ยังไม่เคยลอง ไม่เคยเขียนเลย ก็เลยเกิดเป็นแนวคิดขึ้นมา ลองศึกษาดูก่อน แล้วค่อยตัดสินใจว่า ดีหรือไม่ดี ชอบหรือไม่ชอบ

The Go Programming Language
Go is an open source programming language that makes it simple to build secure, scalable systems.
เว็บไซต์ของ Golang

เริ่มต้นเรียนรู้

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

Get Started - The Go Programming Language

ส่วนแหล่งเรียนรู้ที่ผมว่าเหมาะกับมือใหม่ คือ Go by Example กับ A Tour of Go ครับ

GitHub - avelino/awesome-go: A curated list of awesome Go frameworks, libraries and software
A curated list of awesome Go frameworks, libraries and software - GitHub - avelino/awesome-go: A curated list of awesome Go frameworks, libraries and software

ติดตั้ง Golang

วิธีการติดตั้ง Go ที่ง่ายสุดคือ ดาวน์โหลดตัวติดตั้ง ที่เว็บไซต์ของ Go (เลือก OS ที่เราใช้งาน ถ้า Windows ก็ได้ไฟล์ติดตั้งได้เลย)

All releases - The Go Programming Language

หากใช้ 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 ซักเล็กน้อย คิดว่าตัวเลือก ส่วนใหญ่น่าจะเป็น

สร้างไฟล์ 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  ❤️

Tags

Chai Phonbopit

เป็น Web Dev ทำงานมา 10 ปีหน่อยๆ ด้วยภาษา JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจ Web3, Crypto และ Blockchain เขียนบล็อกที่ https://devahoy.com