Golang Die

最近写小脚本越来越多,基本上都是用 Golang 了,也慢慢习惯使用了 https://gist.github.com 来存放一些脚本。
今天突然发现原来 gist 也可以直接 import 的,于是赶紧把常用的 Die Error 共用了。

// Package offers a function that die err message if err not nil.
//
//    import . "gist.github.com/9521299.git"
//    Die(err, something...)
//
package gist9521299

import (
	"fmt"
	"os"
	"path/filepath"
	"runtime"
)

// Die err message if err not nil.
//
func Die(err error, a ...interface{}) {
	if err != nil {
		_, file, line, ok := runtime.Caller(1)
		if ok {
			fmt.Fprintf(os.Stderr, "Die @%s #%d: ", filepath.Base(file), line)
		} else {
			fmt.Fprintf(os.Stderr, "Die unknown location: ")
		}
		a = append(a, err)
		fmt.Fprintln(os.Stderr, a...)
		os.Exit(1)
	}
}
// Package offers a function that dump everything.
//
//    import . "gist.github.com/9521299.git"
//    Dump(something...)
//
package gist9521299

import (
	"fmt"
	"os"
	"path/filepath"
	"runtime"
)

// Dump everything.
//
func Dump(a ...interface{}) {
	_, file, line, ok := runtime.Caller(1)
	if ok {
		fmt.Fprintf(os.Stdout, "Dump @%s #%d: ", filepath.Base(file), line)
	} else {
		fmt.Fprintf(os.Stdout, "Dump unknown location: ")
	}
	fmt.Fprintln(os.Stdout, a...)
}

Godoc.org 直接可以生成文档:Die Doc

发表评论

%d 博主赞过: