這是我的代碼type Queue interface { Push(key interface{}) Pop() interface{} Contains(key interface{}) bool Len() int Keys() []interface{}}type QueueData struct { size int data []interface{}}func New(size int) *QueueData { return &QueueData{ size: size, }}func (q *QueueData) IsEmpty() bool { return len(q.data) == 0}// Peek : returns the next element in the queuefunc (q *QueueData) Peek() (interface{}, error) { if len(q.data) == 0 { return 0, fmt.Errorf("Queue is empty") } return q.data[0], nil}// Queue : adds an element onto the queue and returns an pointer to the current queuefunc (q *QueueData) Push(n interface{}) *QueueData { if q.Len() < q.size { q.data = append(q.data, n) } else { q.Pop() q.Push(n) } return q}// Dequeue : removes the next element from the queue and returns its value//func (q *QueueFix) Pop() (interface{}, error) {func (q *QueueData) Pop() interface{} { if len(q.data) == 0 { //return 0, fmt.Errorf("Queue is empty") return 0 } element := q.data[0] q.data = q.data[1:] //return element, nil return element}func (q *QueueData) Len() int { return len(q.data)}func (q *QueueData) Keys() []interface{} { return q.data}func (q *QueueData) Contains(key interface{}) bool { cont := false for i := 0; i < q.Len(); i++ { if q.data[i] == key { cont = true } } return cont}我的測試看起來像這樣......var testValues = []interface{}{ "lorem", "ipsum", 1, 2, 3, "jack", "jill", "felix", "donking",}測試返回.\Queue_test.go:60:4: 錯誤調用可能有格式化指令 %v FAIL /C /Users/richa/go/src [構建失敗]我不明白如何從 _test.go 文件中制作代碼。還需要解釋如何制作 _test.go。只是給這個測試一些參考。就像我添加 EvictPolicy 函數時一樣,它未聲明...
1 回答

滄海一幻覺
TA貢獻1824條經驗 獲得超5個贊
您看到的錯誤
Queue_test.go:60:4: Error call has possible formatting directive %v FAIL
看起來是指這條線
t.Error("expected %v but recevied %v", expect, v)
在這一行中,您調用t.Error
以打印錯誤消息并將expect
and v
vars 格式化為錯誤字符串。但是,t.Error
不會格式化附加參數。它只是打印它們。
您應該t.Errorf
像處理其他錯誤消息一樣調用。
- 1 回答
- 0 關注
- 105 瀏覽
添加回答
舉報
0/150
提交
取消