memory inside a map. My code example:
type Device struct{
Data string
Servicable bool
}
func (d *Device) Update(data string, servicable bool){
d.Data = data
d.Servicable = servicable
}
Then sometime later I want to do the following:
var device_map = make(map[string]*devices.Device)
func update_device_map(device_name string, device_servicable bool){
if dev,mapped := device_map[device_name]; !mapped {
log.Printf("Creating new device: %v", device_name)
device_map[device_name] = &devices.Device { Data: device_name, Servicable:
device_servicable }
} else {
log.Printf("Updating device: %v", &dev)
dev.Update(device_name, device_servicable)
}
}
The log results:
2014/07/10 13:22:10 Creating new device: Room 1
2014/07/10 13:22:10 Creating new device: Room 2 (3)
2014/07/10 13:22:12 Updating device: 0xc208042068
2014/07/10 13:22:12 Updating device: 0xc208042070
2014/07/10 13:22:14 Updating device: 0xc208042098
2014/07/10 13:22:14 Updating device: 0xc2080420a0
2014/07/10 13:22:16 Updating device: 0xc2080420c8
2014/07/10 13:22:16 Updating device: 0xc2080420d0
2014/07/10 13:22:18 Updating device: 0xc2080420f8
2014/07/10 13:22:18 Updating device: 0xc208042100
Why are these locations all different every time I perform a look up on the
map?
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.