
The goyaml package enables go programs to very comfortably encode and decode yaml values. it was developed within canonical as part of the juju project, and is based on a pure go port of the well-known libyaml c library to parse and generate yaml data quickly and reliably.
goyaml is almost compatible with yaml 1.1, including support for anchors, tags, etc. there are still a few missing bits, such as document merging, base-60 floats, and multi-document unmarshalling.