编辑代码

package main
import "fmt"

type Card struct {
    ProductId int64
    SkuId int64
}

func main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
    //fmt.Println("Hello JSRUN!   \n\n         - from Golang .")

    productCardCtxMap := map[int64]Card{
        1707311951370270: {ProductId: 12, SkuId: 1707311951370270},
        1707311951370254: {ProductId: 12, SkuId: 1707311951370254},
    }

    var productIdSkuIdMap = make(map[int64][]int64)
	for _, productCard := range productCardCtxMap {
        var skuIds []int64
        var ok bool
		skuIds, ok = productIdSkuIdMap[productCard.ProductId]
        if ok {
            fmt.Printf("skuIds: %p, len: %d, cap: %d\n", skuIds, len(skuIds), cap(skuIds))
			skuIds = append(skuIds, productCard.SkuId)
            fmt.Printf("skuIds: %p, len: %d, cap: %d\n", skuIds, len(skuIds), cap(skuIds))
            fmt.Printf("productIdSkuIdMap: %p, len: %d, cap: %d\n", productIdSkuIdMap[productCard.ProductId], len(productIdSkuIdMap[productCard.ProductId]), cap(productIdSkuIdMap[productCard.ProductId]))
            fmt.Println(skuIds)
            fmt.Println(productIdSkuIdMap[productCard.ProductId])
            // fmt.Println(productIdSkuIdMap[productCard.ProductId][6])
		} else {
            aa := []int64{11, 22, 33, 44, 55}

            aa = append(aa, 66)
            fmt.Printf("aa: %p \n", aa)
            productIdSkuIdMap[productCard.ProductId] = aa
			// productIdSkuIdMap[productCard.ProductId] = []int64{productCard.SkuId}
		}
	}

    fmt.Println(productIdSkuIdMap)
}