scanner

package module
v0.0.0-...-80f299c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2020 License: MIT Imports: 5 Imported by: 1

README

type-scanner

Type Scanner for Go! Language

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FieldName

func FieldName(s string) string

Types

type NameConverter

type NameConverter interface {
	Convert(name string, next NameConverter) string
}
var DefaultNameConverter NameConverter = NameConverterFunc(func(name string, next NameConverter) string {
	name = FieldName(name)
	if strings.HasSuffix(name, "Id") {
		name = strings.TrimSuffix(name, "Id") + "ID"
	}
	return name
})
var FakeNameConverter NameConverter = NameConverterFunc(func(name string, next NameConverter) string {
	return name
})

type NameConverterFunc

type NameConverterFunc func(name string, next NameConverter) string

func (NameConverterFunc) Convert

func (NameConverterFunc) Convert(name string, next NameConverter) string

type Scan

type Scan struct {
	Typ           reflect.Type
	Ptr           bool
	NameConverter NameConverter
}

func New

func New(typ interface{}) (s Scan)

func (Scan) Bulk

func (this Scan) Bulk(rows *sql.Rows, do func(v interface{}) error) (err error)

func (Scan) Fields

func (this Scan) Fields(columns ...string) (fields [][]int)

func (Scan) New

func (this Scan) New(fields ...[]int) (recorde interface{}, args []interface{})

func (Scan) Of

func (this Scan) Of(value reflect.Value, fields ...[]int) (recorde interface{}, args []interface{})

func (Scan) One

func (this Scan) One(rows *sql.Rows, dst interface{}) (err error)

type Scanner

type Scanner interface {
	Bulk(rows *sql.Rows, do func(v interface{}) error) (err error)
	One(rows *sql.Rows, dst interface{}) (err error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL