iotool

package
v0.0.53 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PathError = errors.New("invalid path")
)

Functions

func CleanEmptyLogFile

func CleanEmptyLogFile(logDir string)

CleanEmptyLogFile -清理空日誌文件

func DirSize

func DirSize(path string) (int64, error)

DirSize - 文件夾大小

func EnsureDir

func EnsureDir(path string, perm os.FileMode) error

EnsureDir - 確保目錄已創建

func FileSize

func FileSize(path string) (size int64, err error)

FileSize - 文件大小

func GetDataFromFile

func GetDataFromFile(path string) ([]byte, error)

func IsInProbability added in v0.0.50

func IsInProbability[T RandomValType](n T) bool

IsInProbability 是否有中(n分之1)

func MakeOrDeleteDir

func MakeOrDeleteDir(path string, perm os.FileMode) error

MakeOrDeleteDir - 圖片文件

func OpenCSV added in v0.0.50

func OpenCSV(path string) ([][]string, error)

OpenCS 開csv檔

func RandIntTn added in v0.0.50

func RandIntTn[T RandomValType](n T) T

RandIntTn 隨機產生0到n-1之亂數(接受型別[int | int32 | int64])

func RandSliceIndex added in v0.0.50

func RandSliceIndex(inSlice interface{}) (int, bool)

RandSliceIndex 對slice亂數取index

func SerializeStructData added in v0.0.50

func SerializeStructData(field, row []string, docs interface{}) error

SerializeStructData 檔案序列化為結構(結構欄位要與檔案欄位名稱一致)

func ShuffleSlice added in v0.0.50

func ShuffleSlice(inSlice interface{})

ShuffleSlice 隨機打亂slice裡的順序

Types

type DataMap added in v0.0.50

type DataMap map[string][]string

func CreateDataMap added in v0.0.50

func CreateDataMap(path string) (DataMap, error)

CreateDataMap 建一個讀檔格式(橫式的csv檔,機率表...)

func (DataMap) GetDataByIndex added in v0.0.50

func (rm DataMap) GetDataByIndex(inKey string, index int) (string, bool)

GetDataByIndex 取該row index裡的資料

func (DataMap) GetDataByKey added in v0.0.50

func (rm DataMap) GetDataByKey(inKey string) ([]string, bool)

GetDataByKey 取該row

func (DataMap) ParseRowDataToInt added in v0.0.50

func (rm DataMap) ParseRowDataToInt(inKey string) ([]int, bool)

ParseRowDataToInt 轉為int型態

type FilePathType added in v0.0.50

type FilePathType int
const (
	Config FilePathType = iota
	Mapping
	Table
	PayLines
	Probability
)

type Folder added in v0.0.50

type Folder string

func (Folder) ReadMappingData added in v0.0.50

func (f Folder) ReadMappingData() (map[int]string, error)

ReadMappingData 讀機率表設定檔

func (Folder) ReadPayLinesData added in v0.0.50

func (f Folder) ReadPayLinesData() (DataMap, error)

func (Folder) ReadProbabilityData added in v0.0.50

func (f Folder) ReadProbabilityData(file string) (DataMap, error)

ReadProbabilityData 讀機率表

type ProbWeight added in v0.0.50

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

func CreateProb added in v0.0.50

func CreateProb(inProb ...int64) ProbWeight

CreateProb 建立一個權重結構

func (*ProbWeight) AddProbVal added in v0.0.50

func (p *ProbWeight) AddProbVal(v int64)

AddProbVal 加入權重參數

func (ProbWeight) GetIndexByProb added in v0.0.50

func (p ProbWeight) GetIndexByProb() int

GetIndexByProb 按權重取出index

type ProbabilitySetting added in v0.0.50

type ProbabilitySetting struct {
	ID   int
	File string
}

type RandomValType added in v0.0.50

type RandomValType interface {
	int | int32 | int64
}

type TargetProb added in v0.0.50

type TargetProb[T sliceType] struct {
	ProbWeight
	// contains filtered or unexported fields
}

func (TargetProb[T]) GetOneTargetByProb added in v0.0.50

func (tp TargetProb[T]) GetOneTargetByProb() (int, T)

GetOneTargetByProb 依權重取出一對應的目標參數

func (TargetProb[T]) GetTargetSlice added in v0.0.50

func (tp TargetProb[T]) GetTargetSlice() []T

GetTargetSlice 取得目標參數

func (*TargetProb[T]) InitTargetProb added in v0.0.50

func (tp *TargetProb[T]) InitTargetProb(inTarget []T, inProb []int64)

InitTargetProb 初始化權重

func (*TargetProb[T]) SetTargetSlice added in v0.0.50

func (tp *TargetProb[T]) SetTargetSlice(inTarget []T)

SetTargetSlice 設定目標參數

Jump to

Keyboard shortcuts

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