types

package
v5.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2024 License: MIT Imports: 9 Imported by: 2

Documentation

Overview

Package types 提供部分存取数据库的类型

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Decimal

type Decimal struct {
	Decimal   decimal.Decimal
	Precision int32
	Valid     bool
}

func FloatDecimal

func FloatDecimal(f float64, precision int32) Decimal

FloatDecimal 从浮点数还原 Decimal 对象

precision 表示输出的精度。

func StringDecimal

func StringDecimal(s string, precision int32) (Decimal, error)

StringDecimal 从字符串还原 Decimal 对象

precision 表示输出的精度。

func StringDecimalWithPrecision

func StringDecimalWithPrecision(s string) (Decimal, error)

StringDecimalWithPrecision 从字符串还原 Decimal 对象

输出精度从 s 获取,如果 s 不包含小数位,则小数长度为 0

func (Decimal) MarshalJSON

func (n Decimal) MarshalJSON() ([]byte, error)

func (Decimal) MarshalText

func (n Decimal) MarshalText() ([]byte, error)

func (Decimal) PrimitiveType

func (n Decimal) PrimitiveType() core.PrimitiveType

func (*Decimal) Scan

func (n *Decimal) Scan(src any) (err error)

Scan implements the Scanner.Scan

func (*Decimal) UnmarshalJSON

func (n *Decimal) UnmarshalJSON(data []byte) error

func (*Decimal) UnmarshalText

func (n *Decimal) UnmarshalText(data []byte) error

func (Decimal) Value

func (n Decimal) Value() (driver.Value, error)

type Rat

type Rat struct {
	// contains filtered or unexported fields
}

Rat 有理数

这是对 math/big.Rat 的扩展,提供了 orm 需要的接口支持。

在数据库中以分数的形式保存至字符串类型的列,所以需要指定长度。

func Rational

func Rational(a, b int64) Rat

func (Rat) IsNull

func (n Rat) IsNull() bool

func (Rat) MarshalText

func (n Rat) MarshalText() ([]byte, error)

func (Rat) PrimitiveType

func (n Rat) PrimitiveType() core.PrimitiveType

func (Rat) Rat

func (n Rat) Rat() *big.Rat

Rat 返回标准库中 math/big.Rat 的实例

func (*Rat) Scan

func (n *Rat) Scan(src any) (err error)

Scan implements the sql.Scanner

func (*Rat) UnmarshalText

func (n *Rat) UnmarshalText(data []byte) error

func (Rat) Value

func (n Rat) Value() (driver.Value, error)

type SliceOf

type SliceOf[T any] []T

SliceOf 针对数组存组方式

最终是以 json 的方式保存在数据库。

func (SliceOf[T]) PrimitiveType

func (n SliceOf[T]) PrimitiveType() core.PrimitiveType

func (*SliceOf[T]) Scan

func (n *SliceOf[T]) Scan(value any) (err error)

func (SliceOf[T]) Value

func (n SliceOf[T]) Value() (driver.Value, error)

type Unix

type Unix struct {
	time.Time
	Valid bool
}

Unix 以 unix 时间戳保存的 time.Time 数据格式

func (*Unix) FromTime

func (n *Unix) FromTime(t time.Time)

FromTime 从 time.Time 转换而来

func (Unix) MarshalJSON

func (n Unix) MarshalJSON() ([]byte, error)

func (Unix) MarshalText

func (n Unix) MarshalText() ([]byte, error)

func (Unix) PrimitiveType

func (n Unix) PrimitiveType() core.PrimitiveType

func (*Unix) Scan

func (n *Unix) Scan(src any) (err error)

func (*Unix) UnmarshalJSON

func (n *Unix) UnmarshalJSON(data []byte) error

func (*Unix) UnmarshalText

func (n *Unix) UnmarshalText(data []byte) error

func (Unix) Value

func (n Unix) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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