[英]golang type array containing structs
我試圖創建一個偽隊列結構,並在其中插入作業結構。 我究竟做錯了什么 ?
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)
}
上面的代碼拋出:
不能在分配中使用作業(作業類型)作為隊列類型
您不需要隊列片,也不應索引空片。
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)
}
我認為問題出在這里:
var queue []Queue
這里queue
是Queue
或Job
。 因此,不可能首先分配Job
元素值。
嘗試:
var queue Queue
[]TypeName
是TypeName
類型的slice的定義。
就像它說的那樣:
var queue []Queue
是Queue
類型的實例的一部分。
q := Queue{Job{"test", "http://google.com"}, Job{"test", "http://google.com"}}
絕對不是您想要的。 代替它,您應該聲明var queue Queue
:
var queue Queue
q := append(queue, Job{"test", "http://google.com"}, Job{"test", "http://google.com"})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.