gotools

package module
v0.0.0-...-1ce6c9a Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2024 License: MIT Imports: 6 Imported by: 0

README

gotools

简介

gotools 提供数据的流处理iter, array,map的隐式循环操作

特性

  • 泛型支持:利用 Go 1.18+ 泛型,确保函数在多种数据类型间通用
  • 数据源 : txt,csv,table,json,msyql,elasticsearch,clickhouse,gob,gzip

安装


	go get github.com/frankill/gotools

快速示例


package main

import (
	"fmt"

	"github.com/frankill/gotools"
	"github.com/frankill/gotools/iter"
	"github.com/frankill/gotools/op"
	"github.com/frankill/gotools/query"
)

func main() {

	defer gotools.Clear(1)

	MysqlTest := ""

	q1 := query.NewSQLBuilder().From("test")

	q2 := query.NewSQLBuilder().SQL("select * from test ")

	d1, _ := iter.FromMysql[user](MysqlTest)(q1)

	d2, _ := iter.FromMysql[user](MysqlTest)(q2)

	res := op.Eq(iter.Collect(d1), iter.Collect(d2))

	fmt.Println(res)
}

type user struct {
	ID    string `mysql:"id"`
	Phone string `mysql:"phone"`
	Name  string `mysql:"name"`
}


Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ASCInt  = Lt[int]
	DESCInt = Gt[int]
)

Functions

func Add

func Add[T Number](x, y T) T

func Clear

func Clear(i int)

func Cmp

func Cmp[T Ordered](x, y T) int

Cmp 比较函数

参数:

  • x: 第一个要比较的值。
  • y: 第二个要比较的值。

返回值:

  • 如果 x 大于 y,返回 1。
  • 如果 x 小于 y,返回 -1。

func Div

func Div[T Number](x, y T) T

func Eq

func Eq[T Comparable](x, y T) bool

func Gt

func Gt[T Ordered](x, y T) bool

func Gte

func Gte[T Ordered](x, y T) bool

func Identity

func Identity[T any](x T) T

func Ifelse

func Ifelse[T any](condition bool, trueVal T, falseVal T) T

Ifelse 根据给定的布尔条件 condition,选择返回 trueVal 或 falseVal。 如果 condition 为 true,则返回 trueVal;否则返回 falseVal。 参数:

  • condition - 用于判断的布尔条件。
  • trueVal - 当 condition 为 true 时返回的值。
  • falseVal - 当 condition 为 false 时返回的值。

返回:

  • 根据 condition 的结果返回 trueVal 或 falseVal。

func Lt

func Lt[T Ordered](x, y T) bool

func Lte

func Lte[T Ordered](x, y T) bool

func Max

func Max[T Ordered](x, y T) T

func Min

func Min[T Ordered](x, y T) T

func Mod

func Mod[T Integer](x, y T) T

func Mul

func Mul[T Number](x, y T) T

func NotEq

func NotEq[T Comparable](x, y T) bool

func Sub

func Sub[T Number](x, y T) T

func SysStop

func SysStop() context.Context

Types

type Comparable

type Comparable interface {
	comparable
}

type Float

type Float interface {
	float32 | float64
}

type Integer

type Integer interface {
	int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64
}

type Logical

type Logical interface {
	bool
}

type Number

type Number interface {
	int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64
}

type Ordered

type Ordered interface {
	cmp.Ordered
}

type String

type String interface {
	string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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