ต่อจากคราวที่แล้วที่เราลองทำ lib ใน Go แบบที่ยังไม่ได้กำหนด version กันจริงจัง คราวนี้เราลองเอาของเดิมมาเล่นต่อ ด้วยการ upgrade มันเป็น version 2 ตามแบบที่ Go ทำกัน ก่อนอื่นก็เอา lib เรามายำก่อน
go.mod
module github.com/pallat/versioning/v2
go 1.16
versioning.go
package versioning
var Number = 2.0
เพื่อบอกว่า lib ตัวนี้ v2 เราเลยต้องแก้ module ให้เติม /v2
ต่อท้ายไป แล้วก็ถือโอกาสเปลี่ยน type ของ Number ให้เป็น float64 ด้วยเลย เพราะมันจะเกิด incompatible ด้วย
จากนั้นก็ commit แล้วก็ push ขึ้นไปบน github แต่ ยังไม่พอ เราต้องติด tag ให้มันด้วยตามนี้
git tag v2
git push --tags
จากนั้นเรามาที่โปรแกรมที่เรียกใช้ lib ตัวนี้เป็นแบบนี้
package main
import (
"fmt"
"github.com/pallat/versioning/v2"
)
func main() {
fmt.Printf("%f\n", versioning.Number)
}
จากนั้นใช้คำสั่ง
go mod tidy
แล้วลองรันดูใหม่ เพียงแค่นี้เราก็ได้ใช้ lib v2 เรียบร้อย
สรุปการทำ lib จะต้องทำอะไรบ้าง
- ชื่อ module ให้ลงท้ายเลข major version เช่น
/v2
- ติด tag ตาม vesion แบบ SamVer โดยต้องมี
v
นำหน้า ที่สำคัญ อย่าลืม push ขึ้นไปด้วยทั้ง code และทั้ง tag
Top comments (0)