สวัสดีครับ ในบทความนี้ก็เป็น EP.2 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go module ว่าคืออะไร ใช้ทําอะไร และมีประโยชน์อย่างไร
สําหรับท่านใดที่ยังไม่ได้อ่าน EP.1 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.1 เริ่มต้นเรียนรู้ภาษา Go
โดยปกติแล้วในการเขียนโปรแกรมขึ้นมาสักตัวนึง จําเป็นจะต้อง Import Dependency เข้ามาใช้งาน ในหลายๆภาษา ตัวอย่างเช่น ภาษา JavaScript จะมีตัวจัดการ Dependency คือ node_module สําหรับในภาษา Go ก็เช่นกัน มี Go module เป็นตัวจัดการ Dependency ที่ Import เข้ามาใช้ใน Project โดย Go module เริ่มนํามาใช้ตั้งแต่ version 1.11 เป็นต้นมา
การใช้งาน Go module นั้นสามารถ Initial ได้โดยใช้คำสั่งนี้
$ go mod init github.com/mrthiti/go-module-example
*github.com/mrthiti/go-module-example คือชื่อของ module ที่ต้องการ ซึ่งเป็นชื่ออะไรก็ได้ครับ
เมื่อใช้คําสั่งนี้จะมีไฟล์ go.mod ถูกสร้างขึ้นมาโดยภายใน file ก็จะมีรายละเอียดของ module ประมาณนี้
module github.com/mrthiti/go-module-example
go 1.17
ต่อมา เราลองเขียนโปรแกรมง่ายๆขึ้นมาสักตัวนึงครับ โดยสร้างไฟล์ main.go ขึ้นมา แล้วเขียน Code ดังนี้
package main
import "fmt"
func main() {
fmt.Println("Hello Go")
}
แล้วลองรันดูครับก็จะได้ Hello Go แสดงผลออกมา ถึงตอนนี้เราก็ได้ Project ง่ายๆ ขึ้นมาแล้วครับ
ในขั้นตอนต่อไปเราจะลองเพิ่ม Dependency เข้ามาใช้ใน Project นี้กันครับ โดยตัวอย่าง่ายๆ เราจะเพิ่ม rsc.io/quote เข้ามาใช้งาน โดยสามารถใช้คําสั่งนี้ได้เลยครับ
$ go get rsc.io/quote
เมื่อใช้คําสั่งนี้ rsc.io/quote จะถูกโหลดลงมาบนเครื่องของเราทันที และสามารถ Import เข้าไปใช้งานได้เลยครับ ตามนี้
package main
import (
"fmt"
"rsc.io/quote"
)
func main() {
fmt.Println(quote.Hello())
}
เมื่อรันโปรแกรมจะได้ผลลัพธ์ “Hello, world.” ขึ้นมาแสดงว่าเราสามารถเรียกใช้งาน quote จาก rsc.io/quote ได้เรียบร้อย
ลองกลับมาดูที่ไฟล์ go.mod จะพบกับรายละเอียดของ Dependency ตามที่เราใช้คําสั่ง go get … เข้ามาใน project เราครับ
module github.com/mrthiti/go-module-example
go 1.17
require (
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect
rsc.io/quote v1.5.2 // indirect
rsc.io/sampler v1.3.0 // indirect
)
และเราจะพบไฟล์ go.sum ถูกสร้างขึ้นมา ประโยชน์ของไฟล์นี้ก็คือ เป็นไฟล์ที่เก็บ checksum เพื่อให้แน่ใจว่าเราโหลด Dependency ต่างๆมาถูกตัว หรือถูก version
ก็ประมาณนี้ครับสําหรับการใช้งาน Go module หวังว่าจะทําให้ทุกท่านเข้าใจมากขึ้นครับ
สําหรับ EP. ต่อไปจะเป็นเรื่อง Go EP.3 Go packages คืออะไร เข้าไปอ่านต่อได้เลยครับ
ขอให้สนุกกับการเขียนโปรแกรมนะครับ ขอบคุณครับ 😀
Hard disk WD My Passport เป็นรุ่นที่ตัวของ Hard disk เป็น Port USB มาบนบอร์ดเลย แทนที่จะเป็น SATA เหมือน Hard disk ทั่วไป เมื่อ USB เสียเราจะไม่สามารถนําข้อมูลออกมาได้ ซึ่งจะต่างจาก Hard disk ทั่วๆไป ที่สามารถถอดตัว Hard disk มาจัมพ์กับ Computer ผ่านทางสาย SATA เพื่อนําข้อมูลออกมาได้
สวัสดีครับ ในบทความนี้ก็เป็น EP.3 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Go packages ว่าคืออะไร ใช้ทําอะไร และมีประโยชน์อย่างไรสําหรับท่านใดที่ยังไม่ได้อ่าน EP.2 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.2 ทําความรู้จักกับ Go module
rmdir คือคําสั่งที่ใช้ในการลบ Directory โดยรูปแบบการใช้งานคือ