Rumah >pembangunan bahagian belakang >Golang >GO, kunci peta semuanya telah dikemas kini
Berita terbaharu editor php Yuzai: Semua kunci peta GO telah dikemas kini! GO Map Key ialah aplikasi navigasi berkuasa yang menyediakan pengguna dengan perkhidmatan navigasi peta yang tepat dan mudah. Selepas kemas kini terkini, kunci peta GO telah menambah lebih banyak fungsi dan pengoptimuman, membolehkan pengguna mendapatkan maklumat navigasi yang mereka perlukan dengan lebih mudah. Sama ada anda melancong, melancong atau mencari perkhidmatan berdekatan, GO Map Key boleh memberi anda bantuan menyeluruh. Sama ada anda mengembara dengan kereta atau berjalan kaki, kekunci peta GO boleh merancang laluan optimum dan memberikan panduan navigasi masa nyata untuk anda. Tidak kira di mana anda berada, kunci peta GO ialah pembantu yang betul anda semasa dalam perjalanan!
Ada yang salah dengan pendekatan saya? Saya tidak faham mengapa semua kunci peta dikemas kini, ia sepatutnya menjadi kunci "eter".
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)
Pergi ke taman permainan
Keluarannya ialah
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>
Tetapi saya menantikannya
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>
Itu kerana pemetaan sebenarnya seperti penunjuk Semua kekunci "wlan", "ether", bridge" dan "wg" menghala ke nilai yang sama (rxTx). Terdapat banyak cara untuk mencapai apa yang anda inginkan, tetapi inilah penyelesaian pantas:
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)
Atas ialah kandungan terperinci GO, kunci peta semuanya telah dikemas kini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!