比如有人提供一个消息队列的go文件,包名是messageQueue,在你的go文件里引入使用,怎么办?
比如你的目录结构是这样的:
messageQueue.go位于queue目录里。
还是一个replcace命令搞定。
在go.mod文件里添加如下语句:
replace github.com/queue => ./queue
最后的go.mod文件如下:
module main
go 1.13
replace github.com/queue => ./queue
require github.com/queue v0.0.0-00010101000000-000000000000
在自己的main.go里使用如下:
package main
import (
"fmt"
"time"
messageQueue "github.com/queue"
)
func main() {
fmt.Println("queue begin..")
msgQueue := &messageQueue.MessageQueue{}
msgQueue = msgQueue.Create()
go func() {
for i := 1; i < 100000000; i++ {
if i%1000 == 0 {
time.Sleep(1 * time.Millisecond)
} else {
msgQueue.Push(i)
}
}
}()
for {
x := msgQueue.Pop(100)
if x != nil {
fmt.Println(*x)
}
}
}