go/plist (HowettNET GitLab) DHowett/go-plist Documentation (pkg.go.dev)

Package plist is a pure Go encoder/decoder for various property list-based serialization formats.

It supports the following formats:

  • Apple XML
  • Apple Binary (1.0)
  • OpenSTEP
  • GNUStep

Property list documents can be converted to and generated from from native Go types using an encoding/json-style marshaling interface.

Example

package main

import (
	"howett.net/plist"
	"os"
)

type Document struct {
	Name string `plist:"name"`
}

func main() {
	decoder := plist.NewDecoder(os.Stdin)
	d := Document{}
	decoder.Decode(&d)
}