Maison >développement back-end >Golang >GO, les clés de la carte ont toutes été mises à jour
Dernières nouvelles de l'éditeur php Yuzai : Toutes les clés de la carte GO ont été mises à jour ! GO Map Key est une application de navigation puissante qui fournit aux utilisateurs des services de navigation cartographique précis et pratiques. Après la dernière mise à jour, la clé de carte GO a ajouté plus de fonctions et d'optimisations, permettant aux utilisateurs d'obtenir plus facilement les informations de navigation dont ils ont besoin. Que vous soyez en voyage, en voyage ou à la recherche de services à proximité, GO Map Key peut vous fournir une aide complète. Que vous voyagiez en voiture ou à pied, la clé de carte GO peut planifier l'itinéraire optimal et vous fournir des conseils de navigation en temps réel. Où que vous soyez, la clé de carte GO est votre assistant idéal lorsque vous voyagez !
Y a-t-il quelque chose qui ne va pas dans mon approche ? Je ne comprends pas pourquoi toutes les clés de carte sont mises à jour, ce devrait être juste la clé "éther".
data := []byte(` [{".id":"*1","actual-mtu":"1500","default-name":"ether1","disabled":"false","l2mtu":"1514","type":"ether"},{".id":"*2","actual-mtu":"1500","default-name":"bridge2","disabled":"false","l2mtu":"1514","type":"bridge"}] `) var dst []map[string]string json.Unmarshal(data, &dst) rxTx := map[string]int{"rx": 0, "tx": 0} typeMap := map[string]map[string]int{"wlan": rxTx, "ether": rxTx, "bridge": rxTx, "wg": rxTx} fmt.Println(typeMap) for _, v := range dst { if v["type"] == "ether" { typeMap["ether"]["rx"] += 1 typeMap["ether"]["tx"] += 1 } } fmt.Println(typeMap)
Aller au terrain de jeux
Le résultat sera
map[桥:map[rx:1 tx:1] ether:map[rx:1 tx:1] wg:map[rx:1 tx:1] wlan:map[rx:1 tx:1]]
p>
Mais j'ai hâte d'y être
map[桥:map[rx:0 tx:0] ether:map[rx:1 tx:1] wg:map[rx:0 tx:0] wlan:map[rx:0 tx:0]]
p>
C'est parce que les mappages sont en fait comme des pointeurs Toutes les touches "wlan", "ether", bridge" et "wg" pointent vers la même valeur (rxTx). Il existe de nombreuses façons d'obtenir ce que vous voulez, mais voici une solution rapide :
data := []byte(` [{".id":"*1","actual-mtu":"1500","default-name":"ether1","disabled":"false","l2mtu":"1514","type":"ether"},{".id":"*2","actual-mtu":"1500","default-name":"bridge2","disabled":"false","l2mtu":"1514","type":"bridge"}] `) var dst []map[string]string json.Unmarshal(data, &dst) rxTxWlan := map[string]int{"rx": 0, "tx": 0} rxTxEther := map[string]int{"rx": 0, "tx": 0} rxTxBridge := map[string]int{"rx": 0, "tx": 0} rxTxWg := map[string]int{"rx": 0, "tx": 0} typeMap := map[string]map[string]int{"wlan": rxTxWlan, "ether": rxTxEther, "bridge": rxTxBridge, "wg": rxTxWg} fmt.Println(typeMap) for _, v := range dst { if v["type"] == "ether" { typeMap["ether"]["rx"] += 1 typeMap["ether"]["tx"] += 1 } } fmt.Println(typeMap)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!