Mientras hacía el ejercicio final del Tour of Go , decidí que necesitaba una cola de ( string
, int
) pares. Eso es bastante fácil:
type job struct {
url string
depth int
}
queue := make(chan job)
queue <- job{url, depth}
Pero esto me hizo pensar: ¿hay tipos de datos de par / tupla integrados en Go? Existe soporte para devolver múltiples valores de una función, pero AFAICT, las tuplas de múltiples valores producidas no son ciudadanos de primera clase en el sistema de tipos de Go. ¿Es ese el caso?
En cuanto a la parte "¿qué has probado?", La sintaxis obvia (del punto de vista del programador de Python)
queue := make(chan (string, int))
no funcionó.
Podrías hacer algo como esto si quisieras
Sin embargo, creo que lo que ya tiene es perfectamente idiomático y la estructura describe sus datos perfectamente, lo que es una gran ventaja sobre el uso de tuplas simples.
fuente