Files
go-common/tools/convertor.go

100 lines
2.2 KiB
Go

package tools
import "strconv"
// ConvertInt 将字符串转换为int类型
// value: 待转换的字符串
// defaultValue: 转换失败或字符串为空时返回的默认值
func ConvertInt(value string, defaultValue int) int {
if value == "" {
return defaultValue
}
intValue, err := strconv.Atoi(value)
if err != nil {
return defaultValue
}
return intValue
}
// ConvertInt64 将字符串转换为int64类型
// value: 待转换的字符串
// defaultValue: 转换失败或字符串为空时返回的默认值
func ConvertInt64(value string, defaultValue int64) int64 {
if value == "" {
return defaultValue
}
intValue, err := strconv.ParseInt(value, 10, 64)
if err != nil {
return defaultValue
}
return intValue
}
// ConvertUint64 将字符串转换为uint64类型
// value: 待转换的字符串
// defaultValue: 转换失败或字符串为空时返回的默认值
func ConvertUint64(value string, defaultValue uint64) uint64 {
if value == "" {
return defaultValue
}
uintValue, err := strconv.ParseUint(value, 10, 64)
if err != nil {
return defaultValue
}
return uintValue
}
// ConvertUint32 将字符串转换为uint32类型
// value: 待转换的字符串
// defaultValue: 转换失败或字符串为空时返回的默认值
func ConvertUint32(value string, defaultValue uint32) uint32 {
if value == "" {
return defaultValue
}
uintValue, err := strconv.ParseUint(value, 10, 32)
if err != nil {
return defaultValue
}
return uint32(uintValue)
}
// ConvertBool 将字符串转换为bool类型
// value: 待转换的字符串
// defaultValue: 转换失败或字符串为空时返回的默认值
func ConvertBool(value string, defaultValue bool) bool {
if value == "" {
return defaultValue
}
boolValue, err := strconv.ParseBool(value)
if err != nil {
return defaultValue
}
return boolValue
}
// ConvertFloat64 将字符串转换为float64类型
// value: 待转换的字符串
// defaultValue: 转换失败或字符串为空时返回的默认值
func ConvertFloat64(value string, defaultValue float64) float64 {
if value == "" {
return defaultValue
}
floatValue, err := strconv.ParseFloat(value, 64)
if err != nil {
return defaultValue
}
return floatValue
}