func log(msg string, args ...interface{}) {
	fmt.Fprintf(os.Stderr, msg, args...)
	if !strings.HasSuffix(msg, "\n") || !strings.HasSuffix(msg, "\r\n") {
		fmt.Fprintf(os.Stderr, "\n")
	}
}
Just log some information
package main
import (
	"flag"
	"fmt"
	"github.com/andrebq/assimp"
	"github.com/andrebq/assimp/conv"
	"io"
	"os"
	"strings"
)
var (
	_if  = flag.String("if", "", "Input file")
	_of  = flag.String("of", "-", "Output file")
	help = flag.Bool("h", false, "Help")
)
func main() {
	flag.Parse()
	if *help {
		printUsage("")
	}
	if *_if == "" {
		printUsage("The input file is required")
	}
	if scene, err := conv.LoadAsset(*_if); err != nil {
		log("Unable to load scene.\nCause: %v", err)
	} else {
		dumpScene(scene, *_of)
	}
}
func dumpScene(s *assimp.Scene, outpath string) {
	w, err := openWriterFor(outpath)
	if err != nil {
		fatal("Error opening %v for write. Cause: %v", outpath, err)
	}
	if w, ok := w.(io.Closer); ok {
		defer w.Close()
	}
}
func openWriterFor(file string) (io.Writer, error) {
	if file == "-" {
		return os.Stdout, nil
	} else {
		f, err := os.Create(file)
		if err != nil {
			return nil, err
		}
		return f, err
	}
	panic("Not reached")
	return nil, nil
}