Esiste un modo per controllare fette/mappe per la presenza di un valore?Vai: Aggiungi se univoco
Vorrei aggiungere un valore a una fetta solo se lo fa non esistono nella fetta.
Questo funziona, ma sembra prolisso. C'è un modo migliore per farlo?
orgSlice := []int{1, 2, 3}
newSlice := []int{}
newInt := 2
newSlice = append(newSlice, newInt)
for _, v := range orgSlice {
if v != newInt {
newSlice = append(newSlice, v)
}
}
newSlice == [2 1 3]
Ri: EDIT - è la stessa storia per qualsiasi tipo di chiave di mappa valida - quale stringa è. – zzzz
Re: EDIT2 - se l'ordine dei valori in 'newSlice' non ha importanza E sarà usato/consumato usando un'istruzione di intervallo quindi la sua costruzione è ridondante - basta impostare le chiavi di 'set'. – zzzz
@jnml Grazie per i vostri commenti. Sto memorizzando la lista di 'ints' in GAE datastore e allo scopo di interrogarla deve essere una slice (' [] int'). Questo requisito rende la mia tecnica iniziale la scelta migliore? Le liste saranno piccole. –