无法将nil转换为x类型

FPG*_*PGA 6 go

请考虑以下示例:

    lock.RLock()
    var product *Product
    if store[productId] != nil {     //cannot convert nil to type Product
        product = &Product{}
        *product = *store[productId] //invalid indirect of store[productId] (type Product)
    }
    lock.RUnlock()
Run Code Online (Sandbox Code Playgroud)

例外是每行注释,我不知道我做错了什么..

store 是一个 map[int]Product

有任何想法吗?

pet*_*rSO 6

您正在使用store,就好像它被声明为:

store := make(map[int]*Product)
Run Code Online (Sandbox Code Playgroud)