Golark makes it easy to build Skylark API requests in golang.
package main
import (
	"github.com/SoMuchForSubtlety/golark"
)
type episode struct {
	Title        string   `json:"title"`
	Subtitle     string   `json:"subtitle"`
	UID          string   `json:"uid"`
	DataSourceID string   `json:"data_source_id"`
	Items        []string `json:"items"`
}
func main() {
	var ep episode
	// request an object
	golark.NewRequest("https://test.com/api/", "episodes", "ep_123").
		Execute(&ep)
	// request an object with only certain fields
	golark.NewRequest("https://test.com/api/", "episodes", "ep_123").
		AddField(golark.NewField("title")).
		AddField(golark.NewField("subtitle")).
		AddField(golark.NewField("uid")).
		Execute(&ep)
	type container struct {
		Objects []episode `json:"objects"`
	}
	var eps container
	// request all members of a collection
	golark.NewRequest("https://test.com/api/", "episodes", "").
		Execute(&eps)
	// request all members of a collection with certain properties
	golark.NewRequest("https://test.com/api/", "episodes", "").
		WithFilter("title", golark.NewFilter(golark.Equals, "test episode title")).
		Execute(&eps)
}