una pegar mapa imagen guardar google earth cómo copiar como capturar go

go - pegar - Cómo copiar un mapa?



cómo copiar y pegar un mapa de google maps a word (2)

Copia de elemento individual, parece funcionar para mí con solo un simple ejemplo.

maps := map[string]int { "alice":12, "jimmy":15, } maps2 := make(map[string]int) for k2,v2 := range maps { maps2[k2] = v2 } maps2["miki"]=rand.Intn(100) fmt.Println("maps: ",maps," vs. ","maps2: ",maps2)

Estoy tratando de copiar el contenido de un mapa ( amap ) dentro de otro ( aSuperMap ) y luego aSuperMap amap para que pueda tomar nuevos valores en la próxima iteración / ciclo. El problema es que no puedes borrar el mapa sin borrar su referencia en el super mapa también. Aquí hay un pseudo código.

for something := range fruits{ aMap := make(map[string]aStruct) aSuperMap := make(map[string]map[string]aStruct) for x := range something{ aMap[x] = aData aSuperMap[y] = aMap delete(aMap, x) } //save aSuperMap saveASuperMap(something) }

También probé algunas cosas dinámicas, pero obviamente arroja un error (no se puede asignar a cero)

aSuperMap[y][x] = aData

La pregunta es ¿cómo puedo crear un mapa asociativo? En PHP simplemente uso aSuperMap [y] [x] = aData. Parece que Golang no tiene ningún método obvio. Si borro delete(aMap, x) se elimina su referencia del super mapa. Si no lo borro, el supermapa termina con datos duplicados. Básicamente, en cada ciclo obtiene un aMap con el nuevo valor más todos los valores anteriores.


No estás copiando el mapa, sino la referencia al mapa. Su delete modifica los valores tanto en su mapa original como en el supermapa. Para copiar un mapa, debes usar un ciclo for como este:

for k,v := range originalMap { newMap[k] = v }

Aquí hay un ejemplo de la documentación de SO ahora retirada:

// Create the original map originalMap := make(map[string]int) originalMap["one"] = 1 originalMap["two"] = 2 // Create the target map targetMap := make(map[string]int) // Copy from the original map to the target map for key, value := range originalMap { targetMap[key] = value }

Extraído de Maps - Copiar un mapa . El autor original fue JepZ . Los detalles de atribución se pueden encontrar en la página del contribuyente . La fuente está licenciada bajo CC BY-SA 3.0 y se puede encontrar en el archivo de documentación . ID del tema de referencia: 732 e ID de ejemplo: 9834.