memcache.go
func (c *Client) CompareAndSwap(item *Item) error {
	return c.populateOne(cmdSet, item, item.casid)
}
func (c *Client) CompareAndSwap(item *Item) error {
	return c.populateOne(cmdSet, item, item.casid)
}
func ( c * Client ) CompareAndSwap ( item * Item ) error { return c . populateOne ( cmdSet , item , item . casid ) }
// CompareAndSwap writes the given item that was previously returned
// by Get, if the value was neither modified or evicted between the
// Get and the CompareAndSwap calls. The item's Key should not change
// between calls but all other item fields may differ. ErrCASConflict
// is returned if the value was modified in between the
// calls. ErrNotStored is returned if the value was evicted in between
// the calls.
CompareAndSwap writes the given item that was previously returned by Get if the value was neither modified or evicted between the Get and the CompareAndSwap calls . The item s Key should not change between calls but all other item fields may differ . ErrCASConflict is returned if the value was modified in between the calls . ErrNotStored is returned if the value was evicted in between the calls .