Durante l'esecuzione dello final exercise of the Tour of Go, ho deciso che avevo bisogno di una coda di coppie (string
, int
). Questo è abbastanza facile:Tipo di dati coppia/tupla in Go
type job struct {
url string
depth int
}
queue := make(chan job)
queue <- job{url, depth}
Ma questo mi ha fatto pensare: ci sono built-in coppia/tipi di dati tuple in Go? È disponibile il supporto per returning multiple values da una funzione, ma AFAICT, le tuple a più valori prodotte non sono cittadini di prima classe nel sistema di tipi di Go. È questo il caso?
quanto riguarda la parte "che cosa hai provato", la sintassi evidente (da punto di vista di un programmatore Python)
queue := make(chan (string, int))
non ha funzionato.
Probabilmente dovresti descrivere come ottenere i valori dai membri della struttura anonima perché non penso che sia ovvio per un principiante! –
tuttavia, questo non funzionerà se ci sono più campi con lo stesso tipo – newacct
Puoi avere campi con nome in una struttura anonima, devi solo assicurarti che i campi siano nominati nello stesso modo in cui ogni posto visualizza la definizione di struttura anonima (tre volte in questo esempio.) I campi anonimi sono più facili se riesci a farla franca. – Sonia