コード例 #1
0
ファイル: rdb.go プロジェクト: donh/query
func queryOneOrGetDefault(
	query orm.QuerySeter,
	resultHolder interface{}, defaultFunc func() interface{},
	nilValue interface{},
) (interface{}, error) {
	err := query.One(resultHolder)

	switch err {
	case nil:
		break
	case orm.ErrNoRows:
		return defaultFunc(), nil
	default:
		return nilValue, err
	}

	return resultHolder, nil
}