Closed. This question is not reproducible or was caused by typos。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

4天前关闭。



Improve this question




我正在尝试制作一个映射,其值是通过此操作创建的结构的 slice :
type DNSRecord struct {
    RecordType string
    Domain     string
    IP         string
    TTLSTAMP   int64
}

var records2 map[string][]DNSRecord

func existInCache(queryType, domain string) (bool, map[string]cache.Item) {
    data, status := Cache.Get(queryType)
    if status {
        fmt.Println(data)
        return true, Cache.Items()

    }
    return false, nil

}

func addToCache(recordType DNSRecord) bool {
    status, data := existInCache(recordType.RecordType, recordType.Domain)
    if status {
        fmt.Println("Data: ", data)
        return true
    }
    records2[recordType.RecordType].append(recordType)
    fmt.Println("No status")
    return false
}
当我尝试这样做时,出现错误records2[recordType.RecordType].append undefined (type DNSRecord has no field or method append)

最佳答案

感谢@JimB设法解决了这个问题。
我将records2的声明更改为var records2 = make(map[string][]DNSRecord),并将分配更改为 records2[recordType.RecordType] = append(records2[recordType.RecordType], recordType)谢谢。

09-25 19:23