สวัสดีครับ ในบทความนี้ก็เป็น 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 คืออะไร เข้าไปอ่านต่อได้เลยครับ
ขอให้สนุกกับการเขียนโปรแกรมนะครับ ขอบคุณครับ 😀
ก่อนอื่นมาดูกันว่า FTP คืออะไร FTP ย่อมาจาก File Transfer Protocol ซึ่งเป็น Protocol ที่ใช้ รับ-ส่ง ไฟล์ระหว่าง server และ client ส่วน SFTP ก็เหมือนกับ FTP แต่จะเพิ่มกระบวนการ SSL/TLS เพื่อให้มีความปลอดภัยมากยิ่งขึ้น
ตัวแปร คือ ที่สําหรับเก็บข้อมูล เพื่ออ้างถึงภายในโปรแกรม ซึ่งในการเก็บข้อมูลนั้นจะถูกแบ่งเป็นประเภทต่างๆ และมีขนาดที่แตกต่างกัน โดยเราสามารถประกาศหรือกําหนดตามข้อมูลที่เราต้องการจะเก็บ
สวัสดีครับ ในบทความนี้ผมจะแนะนํา Browser ตัวนึงที่ชื่อว่า Brave ซึ่งในเนื้อหาจะแนะนําว่า Brave Browser คืออะไร ต่างจาก Browser ทั่วไปอย่าง Chrome, Firefox อย่างไร