Вопросы к Поиску с Алисой
Разница между функциями Marshal() и Encode() при сериализации данных в Golang заключается в их назначении:
Таким образом, Marshal() оперирует массивами байтов, а Encode() — потоками данных. habr.com Это делает Encode() предпочтительным для использования в ситуациях, когда требуется обрабатывать данные на лету, ещё до их полного получения, или когда работа ведётся с потоковыми данными. habr.com