加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
类_类型转换.go 2.61 KB
一键复制 编辑 原始数据 按行查看 历史
林伟奇 提交于 2023-12-16 22:00 . On branch master
package lin
import (
"strconv"
"strings"
"time"
)
type L类型转换 struct {
}
func (L类型转换) D到文本(任意数据 any) (返回值 string) {
return any_到文本(任意数据)
}
func (L类型转换) D到整数(任意数据 any) (返回值 int) {
文本 := any_到文本(任意数据)
位置 := strings.Index(文本, ".")
if 位置 != -1 {
文本 = 文本[:位置]
}
if 文本 == "true" {
return 1
}
结果, err := strconv.ParseInt(文本, 0, 64)
if err != nil {
return 0
}
返回值 = int(结果)
return
}
func (L类型转换) D到双精度小数(任意数据 any) (返回值 float64) {
文本 := any_到文本(任意数据)
结果, err := strconv.ParseFloat(文本, 64)
if err != nil {
return 0
}
返回值 = 结果
return
}
func (L类型转换) D到逻辑值(任意数据 any) (返回值 bool) {
文本 := any_到文本(任意数据)
if 文本 == "真" || 文本 == "1" {
return true
}
if 文本 == "假" || 文本 == "0" {
return false
}
结果, err := strconv.ParseBool(文本)
if err != nil {
return false
}
返回值 = 结果
return
}
func (L类型转换) D到字节集(任意数据 any) (返回值 []byte) {
文本 := any_到文本(任意数据)
返回值 = []byte(文本)
return
}
// 格式参照
// @ "2006-01-02 15:04:05",
// @ "2006/01/02 15:04:05",
// @ "2006/01/02",
// @ "2006-01-02",
// @ "2006年01月02日",
// @ "2006年01月02日 15时04分05秒",
// @ "2006年01月02日 15:04:05",
// @ "January 02, 2006 15:04:05",
// @ "02 Jan 2006 15:04:05",
// @ "02.01.2006 15:04:05",
// @ "Mon Jan 02 15:04:05 MST 2006",
// @ "2006-01-02T15:04:05",
// @ "2006-01-02 15:04:05Z",
// @ "2006-01-02T15:04:05Z",
// @ "2006-01-02T15:04:05.999999999Z07:00",
// @ "Jan _2 15:04:05",
// @ "Jan _2 15:04:05.000",
// @ "Jan _2 15:04:05.000000",
// @ "Jan _2 15:04:05.000000000",
// @ "15:04:05",
// @ "01/02 03:04:05PM '06 -0700",
// @ "Mon Jan _2 15:04:05 2006",
// @ "Mon Jan _2 15:04:05 MST 2006",
// @ "Mon Jan 02 15:04:05 -0700 2006",
// @ "02 Jan 06 15:04 MST",
// @ "02 Jan 06 15:04 -0700",
// @ "Monday, 02-Jan-06 15:04:05 MST",
// @ "Mon, 02 Jan 2006 15:04:05 MST",
// @ "Mon, 02 Jan 2006 15:04:05 -0700",
// @ "2006-01-02T15:04:05Z07:00",
// @ "3:04PM",
func (L类型转换) D到时间(任意数据 any, 解析格式_可空 ...string) (返回值 time.Time) {
文本 := any_到文本(任意数据)
if len(解析格式_可空) > 0 && 解析格式_可空[0] != "" {
返回值, _ = time.Parse(解析格式_可空[0], 文本)
} else {
for _, v := range 全_时间格式 {
if 时间, err := time.Parse(v, 文本); err == nil {
返回值 = 时间
return
}
}
}
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化