package yu_strconv // ParseInt32 // // @Description: 解析 s 字符串对应的 i 值,s 可以是 "-" 开头 func ParseInt32(s string) (i int32) { var j_neg bool for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + int32(s[j_i]) - 48 } else if j_i == 0 && s[j_i] == '-' { j_neg = true } else { break } } if j_neg { i = -i } return } // ParseUint32 // // @Description: 解析 s 字符串对应的 i 值 func ParseUint32(s string) (i uint32) { for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + uint32(s[j_i]) - 48 } else { break } } return } // ParseInt64 // // @Description: 解析 s 字符串对应的 i 值,s 可以是 "-" 开头 func ParseInt64(s string) (i int64) { var j_neg bool for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + int64(s[j_i]) - 48 } else if j_i == 0 && s[j_i] == '-' { j_neg = true } else { break } } if j_neg { i = -i } return } // ParseUint64 // // @Description: 解析 s 字符串对应的 i 值 func ParseUint64(s string) (i uint64) { for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + uint64(s[j_i]) - 48 } else { break } } return } // ParseInt // // @Description: 解析 s 字符串对应的 i 值,s 可以是 "-" 开头 func ParseInt(s string) (i int) { var j_neg bool for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + int(s[j_i]) - 48 } else if j_i == 0 && s[j_i] == '-' { j_neg = true } else { break } } if j_neg { i = -i } return } // ParseUint // // @Description: 解析 s 字符串对应的 i 值 func ParseUint(s string) (i uint) { for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + uint(s[j_i]) - 48 } else { break } } return } // ParseUintptr // // @Description: 解析 s 字符串对应的 i 值 func ParseUintptr(s string) (i uintptr) { for j_i := 0; j_i < len(s); j_i++ { if s[j_i] >= '0' && s[j_i] <= '9' { i = i*10 + uintptr(s[j_i]) - 48 } else { break } } return } var formatDigits = []uint8{ '9', '8', '7', '6', '5', '4', '3', '2', '1', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', } // FormatByte // // @Description: 编码 i 值对应的字符串 func FormatByte(i byte) string { if i == 0 { return "0" } j_s := make([]byte, 3) j_si := 2 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // FormatInt8 // // @Description: 编码 i 值对应的字符串 func FormatInt8(i int8) string { if i == 0 { return "0" } j_neg := i < 0 j_s := make([]byte, 4) j_si := 3 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } if j_neg { j_s[j_si] = '-' } else { j_si++ } return string(j_s[j_si:]) } // FormatUint8 // // @Description: 编码 i 值对应的字符串 func FormatUint8(i uint8) string { if i == 0 { return "0" } j_s := make([]byte, 3) j_si := 2 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // FormatInt16 // // @Description: 编码 i 值对应的字符串 func FormatInt16(i int16) string { if i == 0 { return "0" } j_neg := i < 0 j_s := make([]byte, 6) j_si := 5 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } if j_neg { j_s[j_si] = '-' } else { j_si++ } return string(j_s[j_si:]) } // FormatUint16 // // @Description: 编码 i 值对应的字符串 func FormatUint16(i uint16) string { if i == 0 { return "0" } j_s := make([]byte, 5) j_si := 4 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // FormatInt32 // // @Description: 编码 i 值对应的字符串 func FormatInt32(i int32) string { if i == 0 { return "0" } j_neg := i < 0 j_s := make([]byte, 11) j_si := 10 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } if j_neg { j_s[j_si] = '-' } else { j_si++ } return string(j_s[j_si:]) } // FormatUint32 // // @Description: 编码 i 值对应的字符串 func FormatUint32(i uint32) string { if i == 0 { return "0" } j_s := make([]byte, 10) j_si := 9 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // FormatInt64 // // @Description: 编码 i 值对应的字符串 func FormatInt64(i int64) string { if i == 0 { return "0" } j_neg := i < 0 j_s := make([]byte, 20) j_si := 19 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } if j_neg { j_s[j_si] = '-' } else { j_si++ } return string(j_s[j_si:]) } // FormatUint64 // // @Description: 编码 i 值对应的字符串 func FormatUint64(i uint64) string { if i == 0 { return "0" } j_s := make([]byte, 20) j_si := 19 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // FormatInt // // @Description: 编码 i 值对应的字符串 func FormatInt(i int) string { if i == 0 { return "0" } j_neg := i < 0 j_s := make([]byte, 20) j_si := 19 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } if j_neg { j_s[j_si] = '-' } else { j_si++ } return string(j_s[j_si:]) } // FormatUint // // @Description: 编码 i 值对应的字符串 func FormatUint(i uint) string { if i == 0 { return "0" } j_s := make([]byte, 20) j_si := 19 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // FormatUintptr // // @Description: 编码 i 值对应的字符串 func FormatUintptr(i uintptr) string { if i == 0 { return "0" } j_s := make([]byte, 20) j_si := 19 for ; i != 0; i /= 10 { j_s[j_si] = formatDigits[9-i%10] j_si-- } j_si++ return string(j_s[j_si:]) } // ParseBool // // @Description: 返回由字符串表示的布尔值。它接受 1、t、T、true、TRUE、True、0、f、F、false、FALSE、False 。 func ParseBool(str string) bool { switch str { case "1", "t", "T", "true", "TRUE", "True": return true case "0", "f", "F", "false", "FALSE", "False": return false } return false } // FormatBool // // @Description: 根据b的值返回“true”或“false”。 func FormatBool(b bool) string { if b { return "true" } return "false" }