簡體   English   中英

包含結構的golang類型數組

[英]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

這里queueQueueJob 因此,不可能首先分配Job元素值。

嘗試:

var queue Queue

[]TypeNameTypeName類型的slice的定義。

就像它說的那樣:

var queue []QueueQueue類型的實例的一部分。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM