Documentation
¶
Overview ¶
The `types` package is reference from :
https://jackieli.dev/posts/pointers-in-go-used-in-sql-scanner/
This package is a helper library to prevent the value being fallback using reflection in `database/sql`.
Index ¶
- func BoolScanner[T ~bool, Ptr addrOrPtr[T]](addr Ptr, strict ...bool) sql.Scanner
- func ByteArrayScanner[T ~byte](v []T, size int) sql.Scanner
- func Float32Scanner[T ~float32, Addr addrOrPtr[T]](addr Addr, strict ...bool) sql.Scanner
- func Float64Scanner[T ~float64, Addr addrOrPtr[T]](addr Addr, strict ...bool) sql.Scanner
- func Int8Scanner[T ~int8, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func Int16Scanner[T ~int16, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func Int32Scanner[T ~int32, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func Int64Scanner[T ~int64, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func IntScanner[T ~int, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func JSONScanner[T any, Addr interface{ ... }](addr Addr) sql.Scanner
- func JSONValue[T any](addr T) driver.Valuer
- func MarshalBoolSlice[V ~bool](list []V) string
- func MarshalFloat64List[V ~float64](list []V, prec ...int) string
- func MarshalIntSlice[V ~int | ~int8 | ~int16 | ~int32 | ~int64](list []V) string
- func MarshalStringSlice[V ~[]byte | ~string](list []V) string
- func MarshalTimeList[V time.Time](list []V) string
- func MarshalUintSlice[V ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr](list []V) string
- func PtrScanner[T any, Ptr interface{ ... }, Addr *Ptr](addr Addr) sql.Scanner
- func RuneArrayScanner[T ~rune](v []T, size int) sql.Scanner
- func StringScanner[T stringType, Ptr addrOrPtr[T]](addr Ptr, strict ...bool) sql.Scanner
- func TextScanner[T any, Ptr interface{ ... }, Addr interface{ ... }](addr Addr) sql.Scanner
- func TextValue[T encoding.TextMarshaler](addr T) driver.Valuer
- func TimeScanner[T addrOrPtr[time.Time]](addr T) sql.Scanner
- func Uint8Scanner[T ~uint8, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func Uint16Scanner[T ~uint16, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func Uint32Scanner[T ~uint32, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func Uint64Scanner[T ~uint64, Addr addrOrPtr[T]](addr Addr) sql.Scanner
- func UintScanner[T ~uint, Addr addrOrPtr[T]](addr Addr) sql.Scanner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BoolScanner ¶
func Float32Scanner ¶
Float returns a sql.Scanner
func Float64Scanner ¶
Float returns a sql.Scanner
func Int8Scanner ¶
func Int16Scanner ¶
func Int32Scanner ¶
func Int64Scanner ¶
func IntScanner ¶
func JSONScanner ¶
func MarshalBoolSlice ¶
func MarshalFloat64List ¶
func MarshalIntSlice ¶
func MarshalStringSlice ¶
func MarshalTimeList ¶
func MarshalUintSlice ¶
func PtrScanner ¶
func StringScanner ¶
func TextScanner ¶
func TextScanner[T any, Ptr interface { *T encoding.TextUnmarshaler }, Addr interface{ *T | **T }](addr Addr) sql.Scanner
func TimeScanner ¶
Time is a function return a SQL valuer nor scanner, it support pointer or pointer of value
func Uint8Scanner ¶
func Uint16Scanner ¶
func Uint32Scanner ¶
func Uint64Scanner ¶
func UintScanner ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.