uymas

package module
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

README

Uymas

Golang 常用包,快速实现命令行程序开发、struct合并、随机数等生成.

GitHub tag (latest by date) Go Go.Dev reference Report Card Goproxy.cn Go

代码仓库介绍

项目介绍

go 语言工具库 go-version: v1.18

  • source
    • bin 命令行解析工具

支持 golangci-lint 推荐规范

# 执行规范推荐
golangci-lint run ./...

# 执行所有测试用例
go test ./...

分支介绍

  • master 项目主分支
  • develop 开发分支
  • nestling 雏形分支,包含实验性的代码
# 分支合并顺序
nestling --> develop -->master
安装
# github
$ go get -u gitee.com/conero/uymas

内置环境变量

# logger/lgr 包,设置日志级别:
UYMAS_LGR_LEVEL = info

# uymas 命令
UYMAS_CMD_UYMAS_LONG = true
UYMAS_CMD_UYMAS_COLON = false
bin

命令行行语法

$ [command] [<options>]

$ [command] [<options>]
# [<options>] 格式如下


# 1. 配置参数;全称以及简写
--set[=true]
# - 表示单字符; -x; -xy => -x -y ; -xzy => x=zy
-short[=true]


# 2. 二级命令(紧接着 [command])
$ [command] [<sub-command>] [<options>]
plugin sub command(PSC)

插件式子命令

通过扫描二进制所在目录"$/"及“$/plg"下可执行文件,若存在将其视为PSC。

支持命名格式:

  • $/$app-name name
  • $/$app_name name
  • $/name name
  • $/plg/$app-name name
  • $/plg/$app_name name
tinygo

Experimental/Try 尝试实验性支持 tinygo 支持版本不低于 v0.31.0

如编译:

# 编译 tiny 包
tinygo build ./cmd/tiny
使用
package main

import (
	"fmt"
	"gitee.com/conero/uymas/bin"
)
// 命令 test
type Test struct {
	bin.Command
}
// 项目初始化
func (a *Test) Init ()  {
    // 重写方法时必先系统父结构体方法[!!]
    a.Command.Init()
    
    // todo ....
}
// 运行,执行内二级命令分发
func (a *Test) Run ()  {
	fmt.Println("ffff.")
}

// 命令 yang
type Yang struct {
	bin.Command
}


func main() {
	//router := &bin.Router{}
	//bin.Register("test", &Test{})
	//bin.Register("yang", &Yang{})
	//bin.Adapter(router)
	bin.RegisterApps(map[string]interface{}{
		"test": &Test{},
		"yang": &Yang{},
	})
	bin.Run()
}

Documentation

Overview

Package uymas is summary util library from the work experience, provides base version, author information and so on.

Major functional like `bin` (CLI-APP), `str`(string util), other more. Some of originated from work experience to enhance code reuse. The final directory is a convenient tool to realize command-line program development and other code.

Index

Constants

View Source
const (
	Version        = "1.5.0"    // dev is not product but development tag.
	Release        = "20241221" // dev|20060102
	Since          = "20181030"
	Author         = "Joshua Conero"
	Email          = "conero@163.com"
	Name           = "uymas"
	PkgName        = "conero/uymas"
	TimeLayoutDate = "20060102" // date layout-20060102
)

Variables

This section is empty.

Functions

func GetBuildInfo added in v1.4.2

func GetBuildInfo() string

GetBuildInfo return the build info by data injection ``` powershell $gitHash = $(git rev-parse --short HEAD); $buildData = $(get-date -Format 'yyyy-MM-dd'); $buildAuthor = 'Joshua Conero';

go build -ldflags "-s -w -X 'gitee.com/conero/uymas.gitHash=$gitHash' -X 'gitee.com/conero/uymas.buildData=$buildData' -X 'gitee.com/conero/uymas.buildAuthor=$buildAuthor'" ./cmd/... ```

Types

This section is empty.

Directories

Path Synopsis
_examples
bin
Package bin is sample command application lib, provides functional and classic style Apis.
Package bin is sample command application lib, provides functional and classic style Apis.
butil
Package butil bin util package will not run the init(), but bin will
Package butil bin util package will not run the init(), but bin will
color
Package color Experimental addition of command line text color characters.
Package color Experimental addition of command line text color characters.
doc
Package doc command line help information, [Experimental]
Package doc command line help information, [Experimental]
parser/syntax
Package syntax is bin language syntax extend, like digital computing.
Package syntax is bin language syntax extend, like digital computing.
tag
Package tag reflect struct tag for bin
Package tag reflect struct tag for bin
cmd
Package culture [pinyin] the chinese pinyin
Package culture [pinyin] the chinese pinyin
digit
Package digit Provide digitization tools such as converting numbers to Text uppercase and commonly used strings.
Package digit Provide digitization tools such as converting numbers to Text uppercase and commonly used strings.
ganz
Package ganz Chinese Traditional Heavenly Stems and Earthly Branches(天干地支).
Package ganz Chinese Traditional Heavenly Stems and Earthly Branches(天干地支).
pinyin
Package pinyin the chinese pinyin.
Package pinyin the chinese pinyin.
pinyin/material
Package material the Material of pinyin dick, it's `embed`.
Package material the Material of pinyin dick, it's `embed`.
Package fs support facilitate for handler file and direction.
Package fs support facilitate for handler file and direction.
Package logger basic and simple logger for application, it base the go embed `log` package.
Package logger basic and simple logger for application, it base the go embed `log` package.
lgr
Package lgr An instance of library logger, used for direct output from the command line, etc.
Package lgr An instance of library logger, used for direct output from the command line, etc.
Package netutil net util
Package netutil net util
Package number handler like unit cover.
Package number handler like unit cover.
parser
xini
Package xini parse ini config files and utils.
Package xini parse ini config files and utils.
Package str string handler method.
Package str string handler method.
Package svn command parser.
Package svn command parser.
Package unit test unit.
Package unit test unit.
Package util implements other tool more, like type cover, type value check.
Package util implements other tool more, like type cover, type value check.
rock
Package rock As the cornerstone of implementing generic methods, implementing generic related operations with minimal dependencies.
Package rock As the cornerstone of implementing generic methods, implementing generic related operations with minimal dependencies.
Package xsql extends for the sql package.
Package xsql extends for the sql package.

Jump to

Keyboard shortcuts

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