我正在尝试创建一个伪队列结构并在其中插入作业结构。我究竟做错了什么 ?
import "fmt"
type Job struct {
Type string
Url string
}
type Queue [] Job
func main() {
var queue []Queue
job := Job{"test", "http://google.com"}
queue[0] = job
fmt.Println(queue)
}
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出:
无法在分配中使用作业(作业类型)作为队列类型
我认为问题就在这里:
var queue []Queue
Run Code Online (Sandbox Code Playgroud)
这queue是 的切片Queue或切片的切片Job。所以不可能先分配它的元素值Job。
尝试:
var queue Queue
Run Code Online (Sandbox Code Playgroud)
您不需要队列切片,也不应该为空切片建立索引。
package main
import "fmt"
type Job struct {
Type string
Url string
}
type Queue []Job
func main() {
var q Queue
job := Job{"test", "http://google.com"}
q = append(q, job)
fmt.Println(q)
}
Run Code Online (Sandbox Code Playgroud)