Il pacchetto container contiene attualmente oggetti predefiniti per heap, elenchi con doppio collegamento e elenchi circolari. Il codice sorgente per il pacchetto contenitore / lista fornisce anche il modo idiomatico di scorrere gli elenchi. Con tipi di dati così facili da definire, non penso che ci siano problemi nell'implementare nuovi contenitori da soli. Immagino anche che, come Go matures, aggiungerà ulteriori strutture dati integrate.
Un canale è essenzialmente una coda FIFO; consulta questa fonte per assistenza su come rendere i tuoi tipi protetti da thread.